在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