在ESXi里面添加cron,自动运行,删除最后的快照
#!/bin/sh
#auto remove ESXi snapshots
#vi /var/spool/cron/crontabs/root add job
for i in `vim-cmd vmsvc/getallvms | awk '{print $1}'`
do
SNAPSHOT_COUNT=`vim-cmd vmsvc/snapshot.get $i | egrep -- '--\|-CHILD|^\|-ROOT' | wc -l`
if [ $SNAPSHOT_COUNT -ge 4 ]; then
OLD_SNAPSHOT_ID=`vim-cmd vmsvc/snapshot.get $i | grep Id | head -1 | awk -F: '{print $2}'`
vim-cmd vmsvc/snapshot.remove $i $OLD_SNAPSHOT_ID
fi
done
上面的脚本,仅保留4个最近的快照
因ESXi的crond使用的是busybox的。如果要添加crontab,执行以下步骤# 结束当前进程,并重新运行
kill `cat /var/run/crond.pid` && crond
如果想重启ESXi还能用.执行以下步骤(ESXi5.1)#vi /etc/rc.local.d/local.sh
#添加以下内容
/bin/kill $(cat /var/run/crond.pid)
/bin/echo YOUR CRONTAB JOB LINE HERE >> /var/spool/cron/crontabs/root
crond
获取硬盘smart信息for i in `esxcli storage core device list | grep "Local ATA Disk" | sed 's/.*(\|)//g'`; do esxcli storage core device smart get -d "$i"; done