在ESXi里面添加cron,自动运行,删除最后的快照
1
2
3
4
5
6
7
8
9
10
11
|
#!/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,执行以下步骤
1
2
|
# 结束当前进程,并重新运行
kill
`
cat
/var/run/crond
.pid` && crond
|
如果想重启ESXi还能用.执行以下步骤(ESXi5.1)
1
2
3
4
5
|
#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信息
1
|
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
|
参考:Job scheduling under ESXi 5
本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1363161,如需转载请自行联系原作者