当前位置: 首页 > news >正文

模具厂咋做网站哈尔滨seo网络优化招聘

模具厂咋做网站,哈尔滨seo网络优化招聘,nginx 代理 wordpress,网站域名空间购买在Linux终端实现批量删除OpenStack实例#xff0c;支持并发删除、安全确认、重试机制、优先清理运行中实例 #!/bin/bash # # 增强版 OpenStack 删除实例脚本 # 功能#xff1a;支持并发删除、安全确认、重试机制、优先清理运行中实例 # 更新#xff1a;2025年4月30日 # ##…在Linux终端实现批量删除OpenStack实例支持并发删除、安全确认、重试机制、优先清理运行中实例 #!/bin/bash # # 增强版 OpenStack 删除实例脚本 # 功能支持并发删除、安全确认、重试机制、优先清理运行中实例 # 更新2025年4月30日 # ####################################### # 配置区用户可自定义参数 ####################################### delete_InstanceMAX_RETRY20 # 最大尝试次数删除失败时尝试再次删除实例 CHECK_INTERVAL5 # 实例状态检测间隔单位秒 no_InstanceMAX_RETRY_TIME20 # 实例列表为空连续监测实例列表都是空的次数 CONCURRENCY2 # 并发删除线程数建议不超过 API 限制 MAX_WAIT_TIME3600 # 最大等待超时时间单位秒60 分钟LOG_FILE./log_instance_delete_$(date %Y%m%d).log # 日志文件路径自动按日期生成# 统计变量 TOTAL_DELETED_INSTANCES0 # 已删除实例总数统计 DELETED_INSTANCES_FILE/tmp/deleted_instances.txt # 已删除实例ID临时记录文件# 颜色定义终端输出美化 RED\033[0;31m # 红色 - 错误/危险操作 GREEN\033[0;32m # 绿色 - 成功/正常状态 YELLOW\033[0;33m # 黄色 - 警告/等待状态 BLUE\033[0;34m # 蓝色 - 执行中/进度信息 NC\033[0m # 无颜色 - 重置终端颜色####################################### # 函数带重试机制的实例删除 # 参数 # $1 : 实例ID必填 # 返回值 # 0 - 删除成功 | 1 - 删除失败 # 描述 # 使用指数退避策略重试删除最多尝试 delete_InstanceMAX_RETRY 次删除实例 ####################################### retry_delete() {local instance_id$1for ((i1; idelete_InstanceMAX_RETRY; i)); dolog ${BLUE}尝试删除实例 [ID: $instance_id] (第 $i 次尝试)...${NC}if nova force-delete $instance_id; thenlog ${GREEN}删除实例成功: $instance_id${NC}echo $instance_id $DELETED_INSTANCES_FILEreturn 0fisleep $((i*2)) # 指数退避等待donelog ${RED}错误删除实例 $instance_id 失败已达最大重试次数${delete_InstanceMAX_RETRY} 次${NC}return 1 }####################################### # 函数安全获取实例列表 # 参数 # $1 : 实例状态默认 ACTIVE # 返回值 # 实例ID列表格式每行一个ID # 描述 # 过滤无效字符并格式化输出避免脏数据干扰 ####################################### safe_get_instances() {local status${1:-ACTIVE}nova list --status $status | awk -F | /[0-9a-f]{8}-/ {gsub(/ /, , $2);if ($4 ~ status) print $2} status$status }####################################### # 函数日志记录 # 参数 # $1 : 日志信息支持颜色代码 # 描述 # 自动添加时间戳并同时输出到终端和日志文件 ####################################### log() {local msg$1echo -e $(date %Y-%m-%d %T) - $msg | tee -a $LOG_FILE }# 导出函数到子 Shell确保并发调用时可用 export -f log retry_delete####################################### # 主流程 ######################################## 解析命令行参数 while getopts s:i:c:l: opt; docase $opt ins) STATUS$OPTARG;; # 指定目标实例状态如 ACTIVE/BUILDi) CHECK_INTERVAL$OPTARG;; # 自定义检测间隔时间c) CONCURRENCY$OPTARG;; # 调整并发线程数l) LOG_FILE$OPTARG;; # 指定日志文件路径*) echo -e ${RED}用法: $0 [-s 状态] [-i 间隔] [-c 并发数] [-l 日志路径]${NC}exit 1;;esac done# 初始化 OpenStack 环境 source /openstack/admin-openrc.sh || { log ${RED}错误环境变量加载失败请检查 admin-openrc.sh 文件权限或路径${NC}exit 1 }# 检查日志目录可写性 if [ ! -w $(dirname $LOG_FILE) ]; thenecho -e ${RED}错误日志目录不可写 [路径: $(dirname $LOG_FILE)]${NC} 2exit 1 fi# 初始化临时文件记录已删除实例$DELETED_INSTANCES_FILE# 进程锁检查防止重复运行 LOCK_FILE/tmp/os_clean.lock if [ -e $LOCK_FILE ]; thenlog ${YELLOW}警告检测到已有清理进程运行中 [PID: $(cat $LOCK_FILE)]${NC}exit 1 fi echo $$ $LOCK_FILE trap rm -f $LOCK_FILE; TOTAL_DELETED_INSTANCES$(wc -l $DELETED_INSTANCES_FILE); log ${GREEN} 脚本进程中断退出已删除实例数: $TOTAL_DELETED_INSTANCES ; rm -f $DELETED_INSTANCES_FILE EXIT# 安全确认确保转义符被解析 if [[ -t 0 ]]; thenread -p $(printf ${YELLOW}危险操作是否确认执行删除实例(y/N): ${NC}) -n 1 confirm[[ $confirm ! y ]] { log 操作已取消; exit; }echo fi# 主循环状态检测与删除 log \n${GREEN} 开始删除实例 [时间: $(date %T)] start_time$(date %s) empty_count0 # 连续空检测计数器while :; do# 超时检查防止无限等待if (( $(date %s) - start_time MAX_WAIT_TIME )); thenlog ${RED}错误操作超时已超过最大等待时间${MAX_WAIT_TIME} 秒${NC}exit 1fi# 获取目标实例列表instances$(safe_get_instances ${STATUS:-ACTIVE})creating_instances$(safe_get_instances BUILD)# 优先删除运行中的实例if [ -n $instances ]; thenlog 检测到 ${#instances[]} 个运行中实例启动并发删除...printf %s\n ${instances[]} | xargs -P $CONCURRENCY -I {} bash -c delete_InstanceMAX_RETRY$delete_InstanceMAX_RETRYLOG_FILE$LOG_FILEDELETED_INSTANCES_FILE$DELETED_INSTANCES_FILE$(declare -f log retry_delete)retry_delete \{}\sleep $((CHECK_INTERVAL/2)) # 降低 API 请求频率continuefi# 处理创建中的实例等待后重试if [ -n $creating_instances ]; thenlog ${YELLOW}提示检测到 ${#creating_instances[]} 个创建中实例等待 ${CHECK_INTERVAL} 秒...${NC}sleep $CHECK_INTERVALcontinuefi# 空状态处理连续检测退出机制if [ -z $instances ]; thenlog ${YELLOW}提示未发现可操作实例等待 ${CHECK_INTERVAL} 秒后重试至多重试${no_InstanceMAX_RETRY_TIME}次...${NC}sleep $CHECK_INTERVAL# 连续${no_InstanceMAX_RETRY_TIME} 次空检测则退出if (( empty_count ${no_InstanceMAX_RETRY_TIME} )); thenTOTAL_DELETED_INSTANCES$(wc -l $DELETED_INSTANCES_FILE)log ${GREEN} 脚本运行清理完成已删除实例总数: ${TOTAL_DELETED_INSTANCES} exit 0ficontinuefiempty_count0 # 重置空检测计数器 done
http://www.pierceye.com/news/529510/

相关文章:

  • 科技馆网站建设网络营销实务教案
  • 网站上线倒计时html5模板文创产品设计流程
  • 建设项目竣工环保验收公示网站网站建设具体实施方案
  • 蜜淘app在那个网站做的濮阳吧
  • 建网站市场哪家网站开发好
  • 找生产厂家的网站宁波seo运营推广平台排名
  • 淘宝的网站建设的目标昌大建设集团是哪里的
  • 毕业设计h5网站制作较好的网站设计师培训学校
  • 做淘宝券推广的网站有哪些石碣镇做网站
  • 贵阳网站制作免费桂林市工程建设项目招标网站
  • 南昌专业网站排名推广做网站编辑我能力得到提升
  • 网站建设行业凡科建站登录入口官方正版
  • 一般网站开发的硬件要求视觉冲击力的网站设计
  • 昆明做网站建设的公司哪家好广西建设培训网
  • 国字类型网站有哪些内容百度seo分析工具
  • 免费浪漫网页制作网站html的常用标签
  • 上行10m做网站服务仿简书wordpress博客主题
  • 网站建设中网页代码做网站的是不是程序员
  • 做网站需要的技术做网站优化好的网络公司
  • 为什么要更新网站登录四川省住房和城乡建设厅官网
  • 注册网站不用手机短信验证的网站营销型网站的建设起步
  • 国内高清图片素材网站推荐元素领域wordpress
  • 沙朗做网站公司网页制作免费网站制作
  • 营销型网站重要特点是网站播放视频速度优化
  • 建设厅报名网站做PHP网站前端网站进不去
  • 网站开发后台 amp建网页还是网站
  • 云南个旧建设局网站宁波关键词优化品牌
  • 网站建设方案应急处置wordpress我爱水煮鱼
  • 网页设计模板html代码班级主题广东seo推广
  • 西安 网站托管西安网站关键词排名