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

ESXi 定时快照与自动清理:脚本化运维实战

1. 为什么需要自动化快照管理在虚拟化环境中快照就像给虚拟机拍了一张照片能够完整记录某个时间点的系统状态。想象一下当你在测试新软件或者进行系统升级时突然发现出了问题这时候如果能一键恢复到之前的稳定状态是不是特别方便这就是快照的核心价值。但现实情况往往更复杂。我遇到过不少企业他们虽然知道快照的重要性但管理方式却很原始要么是运维人员手动创建快照经常忘记执行要么是快照数量失控占用大量存储空间。最糟糕的情况是当真正需要恢复时发现最近的快照已经是两周前的了。自动化快照管理能解决这些问题定时执行不用再担心忘记创建快照智能清理自动删除老旧快照避免存储空间被占满统一标准所有虚拟机采用相同的快照策略减少人为错误避免手动操作可能带来的失误2. 环境准备与脚本部署2.1 选择合适的存储位置ESXi有个特点你可能不知道重启后会自动清理/vmfs/volumes以外的目录。这意味着如果你把脚本放在错误的位置重启后就找不到了。我吃过这个亏所以特别提醒你所有脚本必须放在数据存储目录下。具体操作步骤cd /vmfs/volumes/datastore1 mkdir crontabs cd crontabs这里有个小技巧使用datastore1是最常见的但你的环境可能不同。如果不确定可以用ls /vmfs/volumes/命令查看可用的数据存储。2.2 创建快照脚本新建snapshot_creat.sh文件内容如下#!/bin/sh #auto create ESXi snapshots for i in vim-cmd vmsvc/getallvms | grep -v nosnap | awk {print $1} | grep -e [0-9] do vname$(vim-cmd vmsvc/get.summary $i | grep name | awk { print $3 } | cut -d \ -f 2) vim-cmd vmsvc/snapshot.create $i $(date %F) sleep 30s if [ $? -eq 0 ];then echo $(date %F %T) : $vname snapshot create success.. ./schedule_snap.log else echo $(date %F %T) : $vname snapshot create FAILED.. ./schedule_snap.log fi done这个脚本有几个关键点使用grep -v nosnap过滤掉备注中包含nosnap的虚拟机快照名称使用当前日期date %F每次操作后等待30秒避免对系统造成太大压力记录详细日志方便排查问题3. 智能清理老旧快照3.1 删除快照脚本创建snapshot_del.sh文件#!/bin/sh DAY3 #保留快照的数量 for i in vim-cmd vmsvc/getallvms | awk {print $1} | grep -e [0-9] do SNAPSHOT_COUNTvim-cmd vmsvc/snapshot.get $i | egrep -- --\|-CHILD|^\|-ROOT | wc -l if [ $SNAPSHOT_COUNT -gt $DAY ]; then DELETE_COUNT$(($SNAPSHOT_COUNT-$DAY)) OLD_SNAPSHOT_IDvim-cmd vmsvc/snapshot.get $i | grep Id | head -$DELETE_COUNT | awk -F: {print $2} for n in $OLD_SNAPSHOT_ID do vim-cmd vmsvc/snapshot.remove $i $n /dev/null sleep 30s done fi done这个脚本的逻辑很巧妙设置DAY3表示保留最近3个快照先统计每个虚拟机的快照总数如果超过保留数量计算需要删除的数量按创建时间从早到晚删除多余的快照3.2 设置文件权限别忘了给脚本执行权限chmod -R 755 crontabs我曾经遇到过脚本无法执行的问题排查了半天才发现是权限设置不对。所以这一步虽然简单但非常重要。4. 配置定时任务4.1 修改rc.local文件ESXi的定时任务配置有点特殊需要通过rc.local来设置vi /etc/rc.local.d/local.sh在文件末尾添加以下内容注意替换路径kill $(cat /var/run/crond.pid) /bin/echo 0 1 * * 2,4 sh /vmfs/volumes/datastore1/crontabs/snapshot_creat.sh /var/spool/cron/crontabs/root /bin/echo 30 2 * * 2,4 sh /vmfs/volumes/datastore1/crontabs/snapshot_del.sh /var/spool/cron/crontabs/root crond这里有几个关键点需要注意每周二、周四凌晨1点创建快照每周二、周四凌晨2:30清理老旧快照路径必须使用绝对路径4.2 定时任务语法说明很多人对cron表达式不太理解这里详细解释下0 1 * * 2,4每周二和周四的1:00 AM30 2 * * 2,4每周二和周四的2:30 AM五个星号分别代表分钟 小时 日 月 星期如果你想改成每天执行可以改成0 1 * * *每天1:00 AM。5. 常见问题排查5.1 脚本不执行怎么办如果发现脚本没有按预期执行可以按以下步骤排查检查脚本权限ls -l /vmfs/volumes/datastore1/crontabs/查看cron日志cat /var/log/cron手动执行脚本测试sh /vmfs/volumes/datastore1/crontabs/snapshot_creat.sh检查路径是否正确ESXi重启后路径可能会变5.2 快照创建失败的可能原因根据我的经验快照创建失败通常有这些原因虚拟机正在备份或迁移存储空间不足虚拟机处于特殊状态如挂起快照数量已达到上限通常每个虚拟机最多32个5.3 如何临时禁用自动快照有时候你可能需要临时禁用自动快照有两种方法在虚拟机备注中添加nosnap注释掉cron任务行在行首加#6. 进阶优化建议6.1 按虚拟机类型设置不同策略生产环境和测试环境的虚拟机可能需要不同的快照策略。你可以修改脚本实现生产环境每天快照保留7天测试环境每周快照保留2个实现方法是给虚拟机添加不同的备注标签然后在脚本中根据标签应用不同的策略。6.2 添加邮件通知功能如果你想及时知道快照任务执行情况可以添加邮件通知# 在脚本成功/失败部分添加 echo 快照任务完成 | mail -s ESXi快照报告 adminexample.com当然这需要先配置好ESXi的邮件发送功能。6.3 监控快照存储空间快照会占用大量存储空间建议定期检查df -h vim-cmd vmsvc/getallvms | awk {print $1} | xargs -I {} vim-cmd vmsvc/snapshot.get {} | grep File Size可以设置一个定期任务当存储空间低于某个阈值时自动清理更多老旧快照。

相关文章:

ESXi 定时快照与自动清理:脚本化运维实战

1. 为什么需要自动化快照管理 在虚拟化环境中,快照就像给虚拟机拍了一张"照片",能够完整记录某个时间点的系统状态。想象一下,当你在测试新软件或者进行系统升级时,突然发现出了问题,这时候如果能一键恢复到…...

终极指南:如何免费绕过iOS 15-16激活锁的完整教程

终极指南:如何免费绕过iOS 15-16激活锁的完整教程 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n AppleRa1n是一款专为iOS 15-16系统设计的iCloud激活锁绕过工具,帮助用户解决因…...

视频元数据怎么修改?4个小白方法,不用敲代码

前言视频元数据填错真的超烦!上传时标题、作者或者拍摄日期写错,要么平台不显示,要么被判定异常,连搜索都受影响。有时候想改描述、版权信息,翻遍软件都找不到入口,急得抓瞎!其实视频元数据修改…...

卧式冷凝器管板防腐:一次返工都没有

今年三月底,我接到市场部同事的电话:“付工,南港那边某大型化工企业有四台卧式冷凝器,管板让循环水腐蚀得不成样子了,你去看看?”我第二天就买了票过去。做我们这行心里都清楚,卧式冷凝器管板防…...

微信小程序web-view集成H5视频录制:从需求到填坑的完整实践

1. 银行视频面签需求与技术选型 去年接手了一个银行视频面签项目,客户要求在小程序内实现完整的视频录制功能。具体场景是:用户进入页面后点击开始录制,系统会依次播放预设问题(比如"请问您是李先生吗?"&…...

Smithbox完整指南:从游戏玩家到MOD创作者的蜕变之路

Smithbox完整指南:从游戏玩家到MOD创作者的蜕变之路 【免费下载链接】Smithbox Smithbox is a modding tool for Elden Ring, Armored Core VI, Sekiro, Dark Souls 3, Dark Souls 2, Dark Souls, Bloodborne and Demons Souls. 项目地址: https://gitcode.com/gh…...

2000-2024年县域金融机构贷款余额、金融机构储蓄存款余额数据

数据介绍 县域金融机构存贷款数据是观察地方经济活力、金融资源配置效率及政策实施效果的重要微观窗口‌。数据反映资金流向与区域经济结构特征,衡量区域经济发展水平与增长动能,评估金融资源错配与服务普惠性,检验货币政策传导机制的有效性…...

IT管理员在日常运维中如何降低权限管理带来的工作负担

据IDC数据显示,2025年我国网络安全投入占信息化整体投入比例低于2%,低于全球平均水平3.05%,与美、日等发达国家10%以上的比例差距显著。除政府、金融等强监管行业外,大部分企业的安全需求仅由合规驱动,主动投入意愿不足…...

AnimateDiff避坑指南:解决视频闪烁/面部扭曲/生成失败的7个常见问题(附排查流程图)

AnimateDiff实战排雷手册:从闪烁修复到面部优化的深度解决方案 深夜的显示器前,你盯着刚刚生成的视频片段——那个本应优雅转身的角色面部扭曲成了抽象画,背景闪烁得像90年代故障电视。这不是你第一次遇到AnimateDiff的"脾气"&…...

STM32实战:手把手教你调试LIN总线通讯(逻辑分析仪抓包与常见故障排查)

STM32实战:LIN总线通讯调试全攻略(从波形解析到故障定位) LIN总线作为汽车电子中广泛应用的通信协议,其调试过程往往让工程师们又爱又恨。上周在给某新能源车厂做技术支援时,他们的工程师小王就遇到了典型问题&#xf…...

开源工具如何突破Cursor AI Pro使用限制:技术原理与实战指南

开源工具如何突破Cursor AI Pro使用限制:技术原理与实战指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached yo…...

全球仅限200份|2026奇点大会《语音克隆攻防红蓝对抗手册》内部版首发:含12个真实攻防靶场与MITRE ATTCK语音映射表

第一章:2026奇点智能技术大会:AI语音克隆 2026奇点智能技术大会(https://ml-summit.org) 实时语音克隆的突破性架构 本届大会首次公开演示了端到端低延迟语音克隆系统VoiceSynth-7,其核心采用分层声学建模(Hierarchical Acousti…...

极域电子教室破解终极指南:JiYuTrainer让你的学习重获自由

极域电子教室破解终极指南:JiYuTrainer让你的学习重获自由 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 在数字化教学环境中,你是否曾被极域电子教室的全…...

Windows系统优化工具Winhance:三步完成系统加速与个性化定制

Windows系统优化工具Winhance:三步完成系统加速与个性化定制 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winha…...

OpenWrt Turbo ACC插件终极指南:3大技术突破让你的路由器性能飙升300%

OpenWrt Turbo ACC插件终极指南:3大技术突破让你的路由器性能飙升300% 【免费下载链接】turboacc 一个适用于官方openwrt(22.03/23.05/24.10) firewall4的turboacc 项目地址: https://gitcode.com/gh_mirrors/tu/turboacc 你是否经常遇到家中网络卡顿、游戏延…...

物流基础知识详解及高效管理工具应用

物流基础知识详解及高效管理工具应用 物流是连接生产与消费的核心纽带,是现代商业活动中不可或缺的重要环节,涵盖物品从供给地到消费地的全流程流动,包括运输、仓储、包装、装卸、配送、信息处理等多个核心模块,贯穿我们生活与企…...

Global Wheat Detection数据集:挑战、构建与应用全景

1. Global Wheat Detection数据集的诞生背景 小麦作为全球三大主粮之一,其产量预估直接关系到粮食安全。但在传统农业中,农民往往需要人工统计麦穗数量,这种方法不仅效率低下,而且误差率高达30%以上。2018年,东京大学的…...

终极Python生物信息学教程:从零开始掌握基因组数据分析的完整指南

终极Python生物信息学教程:从零开始掌握基因组数据分析的完整指南 【免费下载链接】Bioinformatics-with-Python-Cookbook-Second-Edition 项目地址: https://gitcode.com/gh_mirrors/bi/Bioinformatics-with-Python-Cookbook-Second-Edition 想要快速掌握P…...

GPT-6 API接入完全指南:Symphony架构下的多模态调用与最佳实践

适合人群:有AI API调用经验的后端/全栈开发者 难度:中级 关键词:GPT-6、Azure OpenAI、多模态、200万TokenGPT-6于2026年4月14日正式发布,本文将从工程实践角度,梳理GPT-6 API的核心变化、调用方式,以及在A…...

从洪水预测到服务器宕机:极值理论EVT如何帮你预警“不可能发生”的故障

从洪水预测到服务器宕机:极值理论EVT如何帮你预警“不可能发生”的故障 当某电商平台在年度大促前夜遭遇流量尖峰时,运维团队发现监控仪表盘上的曲线突然突破历史极值——这不是普通流量波动,而是一个理论上"百年一遇"的突发事件。…...

从理论到实践:概率统计核心公式与应用场景解析

1. 概率统计的核心公式与生活场景 概率统计就像生活中的隐形指南针,从天气预报到股票涨跌,从医疗诊断到游戏抽卡,处处都有它的身影。记得我第一次用泊松分布预测餐厅午高峰客流时,才发现数学公式真的能"算准"现实。 贝叶…...

从‘滚下山坡’到穿越‘局部洼地’:一个物理小实验帮你彻底搞懂PyTorch中的Momentum优化

从‘滚下山坡’到穿越‘局部洼地’:一个物理小实验帮你彻底搞懂PyTorch中的Momentum优化 想象一下,你在山顶放下一颗弹珠,看着它沿着崎岖的山坡滚落。有时它会卡在小坑里(局部最小值),有时又会因为惯性冲过…...

深度学习之图像分类(二十)-- BoTNet实战:从ResNet到Transformer的平滑升级指南

1. 为什么需要从ResNet升级到BoTNet? 如果你正在使用ResNet进行图像分类任务,可能会遇到一些瓶颈。比如在处理高分辨率图像时,传统的卷积操作难以捕捉长距离依赖关系;或者当任务需要更精细的特征表达时,固定大小的卷积…...

Mask R-CNN实战拆解:从FPN特征金字塔到ROI Align对齐

1. Mask R-CNN核心架构解析 第一次看到Mask R-CNN的论文时,我被它优雅的设计深深吸引。这个模型就像是一个精密的瑞士军刀,把目标检测和实例分割完美结合。简单来说,它是在Faster R-CNN的基础上增加了一个分割分支,形成了"三…...

别再只会用单引号了!Matlab char函数从数字到字符的保姆级转换指南

Matlab字符转换艺术:超越单引号的数据表达革命 在数据处理的世界里,数字和字符之间的界限常常模糊不清。想象一下这样的场景:你刚从实验室收集到一整套温度传感器数据,数值精确到小数点后四位,但项目报告需要将这些数…...

Cursor Pro免费激活:3个核心技术突破与5分钟部署指南

Cursor Pro免费激活:3个核心技术突破与5分钟部署指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tria…...

别再手动处理异步任务了!用ABAP bgRFC实现后台RFC的完整配置与代码示例(S/4HANA适用)

别再手动处理异步任务了!用ABAP bgRFC实现后台RFC的完整配置与代码示例(S/4HANA适用) 如果你还在用传统方式处理ABAP中的异步RFC调用,每天被tRFC/qRFC的监控和错误处理折磨得焦头烂额,那么bgRFC可能是你一直在寻找的解…...

进位链延迟终极指南:实测Xilinx与Altera架构差异(附37℃温度影响数据)

进位链延迟深度解析:Xilinx与Altera架构实测对比与温度影响 在FPGA设计领域,进位链(Carry Chain)是实现高性能算术运算的关键路径。无论是图像处理中的卷积运算,还是金融计算中的高精度算法,进位链的延迟特…...

SITS2026智能代码生成白皮书深度解读(行业首个L3+可信生成评估框架首次公开)

第一章:SITS2026发布:智能代码生成白皮书 2026奇点智能技术大会(https://ml-summit.org) SITS2026(Smart Intelligent Text-to-Source 2026)是面向企业级开发场景的下一代智能代码生成框架,首次将多模态语义理解、上…...

HCPL-520K,低输入电流、宽VCC范围的密封逻辑门光耦合器

简介今天我要向大家介绍的是 Broadcom 的光耦合器——HCPL-520K。这是一款专为高可靠性系统精心设计的单通道、密封逻辑门光耦合器。它内部采用AlGaAs发光二极管,并光学耦合至带有迟滞阈值的高增益光子探测器,在提供非反相输出的同时,展现了卓…...