1、vim-cmd vmsvc/getallvms |grep "Win2003(211_2017)"
获取虚拟机的序号

618    Win2003(211_2017)                [DELL_SC8000_1] Win2003(211_2017)/Win2003(211_2017).vmx                                                                   winNetEnterpriseGuest     vmx-07             


2、vim-cmd vmsvc/power.reset 218

3、建立自动重启脚本,通过ping检测服务器是否在线,脚本要建在存储上面/vmfs/volumes/HUAWEI/
#!/bin/sh
#read -p "请输入IP:" ip
ip=192.168.109.11
ping -c 1 $ip
if [ $? -eq 0 ]; then
        echo "ping $ip  success!"
else
vim-cmd vmsvc/power.reset 218
        echo "ping  $ip fail!"
fi


最后要加上执行权限 chmod 744 reset11.sh 



4、修改/etc/rc.local.d/local.sh实现重启也能自动添加计划任务
vi /etc/rc.local.d/local.sh

在最后一行添加:*/20 * * * * /vmfs/volumes/HUAWEI/reset11.sh

20分钟检测一次,最后重启定时任务,以立刻生效

kill $(cat /var/run/crond.pid)  #关闭定时任务
crond  #启动定时任务



5、先不要高興得太早,ESXi重新開機後,剛剛編輯的排程就清除了…

要如何修改 crontab,並維持 ESXi reboot 之後的一致性呢?

必須要編輯 ESXi 開機 script 之一的 /etc/rc.local.d/local.sh

這個檔案也是 Read Only,不是將屬性改成 755,就是 vi 修該之後,要強制寫入

在檔尾加入一段【不用解除Read Only封印,也可以強制寫入,奇怪吧~~~】

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

echo “*/20 * * * * /vmfs/volumes/HUAWEI/reset11.sh" >> /var/spool/cron/crontabs/root

crond


参考:
https://andersonwang.wordpress.com/2019/02/22/%E7%B7%A8%E8%BC%AF-esxi-6-7-%E7%9A%84-crontab/
https://zerlong.com/697.html