首页 > 其他分享 >EXSI主机自动创建快照,删除快照

EXSI主机自动创建快照,删除快照

时间:2024-05-27 13:21:54浏览次数:25  
标签:脚本 crontabs vmsvc 快照 主机 EXSI sh snapshot

1.开启EXSI主机SSH


2.使用SSH连接EXSI主机

SSH连接账号密码为登录EXSI主机时的账号密码



esxi重启会删除/vmfs/volumes目录外的文件,所以脚本放在/vmfs/volumes/datastore1
进入数据存储目录下,这个名称根据自己建立数据存储的名称来

cd /vmfs/volumes/datastore1/

创建存放脚本文件夹

mkdir crontabs

切换到存放脚本目录

cd crontabs

3.创建自动快照脚本

vi snapshot_creat.sh

填入自动快照脚本信息

#!/bin/sh
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

4.创建自动删除快照脚本

vi snapshot_del.sh

填入删除快照脚本信息

DAY=1 #保留快照的数量
for i in `vim-cmd vmsvc/getallvms | awk '{print $1}' | grep -e "[0-9]"`
do
    SNAPSHOT_COUNT=`vim-cmd vmsvc/snapshot.get $i | egrep -- '--\|-CHILD|^\|-ROOT' | wc -l`
    if [ $SNAPSHOT_COUNT -gt $DAY ]; then
                DELETE_COUNT=$(($SNAPSHOT_COUNT-$DAY))
                OLD_SNAPSHOT_ID=`vim-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

给两个脚本赋予执行权限

chmod +x *.sh

5.测试运行快照脚本

./snapshot_creat.sh

查看创建日志

cat schedule_snap.log

EXSI主机查看创建快照情况(有两条记录是因为我运行了两次脚本,待会用于测试删除脚本是否可以删除)


运行删除快照脚本

./snapshot_del.sh

6.设置脚本开机自动执行计划

复制当前路径

添加crond内容

vi /etc/rc.local.d/local.sh

添加以下信息,脚本路径替换为实际的路径

kill $(cat /var/run/crond.pid)
# 凌晨12点创建快照
/bin/echo "0 0 * * * /vmfs/volumes/5b006ef2-79848440-3c9c-0894ef0f727c/crontabs/snapshot_creat.sh" >> /var/spool/cron/crontabs/root
# 凌晨3点删除快照
/bin/echo "0 3 * * * /vmfs/volumes/5b006ef2-79848440-3c9c-0894ef0f727c/crontabs/snapshot_del.sh" >> /var/spool/cron/crontabs/root
crond

运行脚本保存配置

/sbin/auto-backup.sh

7.重启EXSI主机

想测试重启后脚本有没有执行的话可以改一下cron,每5分钟创建1次快照

/bin/echo "*/5 * * * * /vmfs/volumes/5b006ef2-79848440-3c9c-0894ef0f727c/crontabs/snapshot_creat.sh" >> /var/spool/cron/crontabs/root

标签:脚本,crontabs,vmsvc,快照,主机,EXSI,sh,snapshot
From: https://www.cnblogs.com/docker-/p/18215304

相关文章

  • 基于 Prometheus 的超算弹性计算场景下主机监控最佳实践
    作者:左知超算场景的业务特点主机监控,或许是监控/可观测领域最传统和普遍的需求。在超算训练,AI大规模训练的业务场景下,主机监控又有哪些痛点和难点呢?根据我们针对多个大规模超算客户的需求整理,超算场景的特点主要集中在如下几个方面:大规模计算超算擅长处理可并行化的计算问题,......
  • Golang初学:获取主机的磁盘空间信息,gopsutil
    goversiongo1.22.1windows/amd64Windows11+amd64x86_64x86_64GNU/Linux--- 序章怎么获取磁盘空间信息呢?总量、剩余等。包括,Windows、Linux主机等。使用标准库(os、fs、syscall等)可以吗?可以,网上可以找到获取Linux系统的相关信息,不过,要获取Windows的就比较麻烦......
  • Windows server高危漏洞 - 目标主机使用了不受支持的SSL加密算法
    系统扫描出高危漏洞:目标主机使用了不受支持的SSL加密算法。 修复过程:使用IISCrypto工具,下载地址:NartacSoftware-IISCrypto1.打开工具,点击“BestPractices”后,会自动反选掉一些选项,如下图,根据解决建议,手动反选掉TLS1.0和TLS1.1。然后Apply,重启服务器。 2. 服务......
  • 物联网主机linux环境安装,详见本地文档
    安装jdk二、准备1、离线下载jdk-8u261-linux-x64.tar.gz2、上传压缩包到/usr/local/src目录下三、安装1、卸载CentOS自带的openJDKrpm-qa|grepjava如果系统有自带的jdk,则使用以下指令卸载rpm-e--nodeps  jdk-xxx如果系统没有自带jdk,忽略此步。2、解压进入/usr/l......
  • 此主机支持Intel VT-x,但Intel VT-v 处于禁用状态
     此主机支持IntelVT-x,但IntelVT-x处于禁用状态。1.首先,需要解释一下“BIOS”2.解决办法2.1进入计算机BIOS界面3.成功启动虚拟机在VMwareWorkstation中,配置完Linux虚拟机后,运行该虚拟机的时候,报了这个错误,如下图。 1.首先,需要解释一下“BIOS”  BIOS是英文"BasicIn......
  • idea jprofiler内存快照分析
    1、idea按照jprofiler插件setting->plugins->marketplace搜索jprofiler,安装并重启2、分析dump文件dump内存快照方式:jmap-dump:format=b,file=heapdump.phrof{jvm的pid}使用jprofiler导入dump文件导入成功3、jprofiler工具关注“BiggestObjects”、"GCroots"、"Packa......
  • 【WCH蓝牙系列芯片】-基于CH582开发板—主机枚举从机所有服务和特征
    -------------------------------------------------------------------------------------------------------------------------------------在使用沁恒的CH582蓝牙芯片的过程中,有时需要主机去连接蓝牙从机进行通信,主机在使用过程中工作流程是: 1、 蓝牙初始化完成后,开始扫描......
  • vcenter创建数据中心加入ESXI主机
    vcenter创建数据中心加入ESXI主机 右键选择vcenter主机,点新建数据中心 2、点确定  3、对Datacenter右键,然后选择添加主机 4、添加主机IP地址 5、添加用户密码,然后下一页 6、点是 7、会显示摘要,按下一页 8、分配许可证 9、按是 10、按下一......
  • docker快速部署 influxdb+telegraf+grafana 推送主机及docker容器监控数据 并展示图
    简述1、InfluxDBInfluxDB是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。 2、TelegrafTelegraf是一个插件驱动的服务器代理,用于收集和报告指标,并且是TICKStack的第一部分。Telegraf插件可以直接从它运行的系统中获取各种指标,从第三方API中提取指标,甚......
  • Windows hosts 文件是一个文本文件,用于将主机名与相应的 IP 地址进行映射。这个文件通
    C:\Windows\System32\drivers\etc\hosts是一个计算机上的文件路径,通常用于存储主机名与IP地址之间的映射关系。在Windows操作系统中,这个文件被称为"hosts"文件。这个文件的作用是将主机名映射到相应的IP地址,这样当你在浏览器中输入一个域名时,系统会首先查看这个文件......