基于EXSi Shell的快照自动化创建和删除
1.安装好ESIX 5-6 服务器
2.设置好SSH 登陆
3.脚本文件需要放在/vmfs/volumes目录,即虚拟机的存放目录,放到其他目录EXSi主机重启后会被清除。
#!/bin/sh
DAY=5 #保留数量
for ic in `vim-cmd vmsvc/getallvms | awk '{print $1}' | grep -e '[0-9]'`
do
echo "VM "$ic
Off=`vim-cmd state $ic |grep 'Powered on' |wc -L`
if [ $Off -eq 10 ]; then
vim-cmd ate $ic "Back@"$(date "+%F")
SNAPSHOT_COUNT=`vim-cmd $ic | egrep -- '--\|-CHILD|^\|-ROOT' | wc -l`
if [ $SNAPSHOT_COUNT -gt $DAY ] ; then
DELETE_COUNT=$(($SNAPSHOT_COUNT-$DAY))
OLD_SNAPSHOT_ID=`vim-cmd $ic | grep Id | awk -F: '{print $2}' |tail -n $DAY`
OLD_SNAPSHOT_MY=`vim-cmd $ic | grep Name | awk -F: '{print $2}' |tail -n $DAY |head -n 1` Back="Back@"
result=$(echo $OLD_SNAPSHOT_MY | grep "${Back}")
if [[ "$result" != "" ]] ; thenshell vim命令
vim-cmd ve $ic $OLD_SNAPSHOT_ID > /dev/null
echo "DEL-OK"
fi
fi
fi
done
4.设置开机启动
#安装vi /etc/rc.local.d/local.sh
/bin/echo '30    5 * * * /vmfs/volumes/54c7d083-18810fb1-2387-549f3504a12e/x.sh' >>
/var/spool/cron/crontabs/root
kill $(cat /var/run/crond.pid)
crond
x.sh 必须在/vmfs/volumes/里

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。