ESXi5.5 设置自动删除快照脚本及计划任务

#!/bin/sh
DAY=4 #保留数量
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 -ge $DAY ]; then
       let NUM=$SNAPSHOT_COUNT-$DAY
       OLD_SNAPSHOT_ID=`vim-cmd vmsvc/snapshot.get $i | grep Id | head -$NUM | awk -F: '{print $2}'`
       for n in $OLD_SNAPSHOT_ID
       do
         vim-cmd vmsvc/snapshot.remove $i $n > /dev/null
       done
    fi 
done

# 计划任务添加/var/spool/cron/crontabs/root

然后执行计划任务服务重启操作否则计划任务会不生效。

~ # cat /etc/rc.local.d/local.sh 

/bin/echo '0    3    *   *   *   /vmfs/volumes/54c7d083-18810fb1-2387-549f3504a12e/crontab/del_shot.sh' >> /var/spool/cron/crontabs/root

#脚本文件要放到/vmfs/volumes/***(存储目录)里,否则主机重启后脚本会删除


#kill $(cat /var/run/crond.pid)

#crond

以上操作会保留最近四次的快照


参考:http://abian.blog.51cto.com/751059/1363161 的文章略作修改实现了只保留最近几次的快照。

你可能感兴趣的:(vmware,虚拟化,esxi,ESXi计划任务,ESXi快照)