1.获取虚拟机和每个虚拟机的虚拟机 ID 列表,执行自动关机脚本中需要用到
vim-cmd vmsvc/getallvms
2.切换至如下目录并新建脚本
cd /vmfs/volumes/62fd4366-f3aa3484-a66b-5c6f693aa786/crontabs/
vi autoshutdown.sh
输入以下内容(虚拟机的ID列表根据实际情况列入)
#!/bin/sh
#shutdown all VMs(vim-cmd vmsvc/getallvms,2,3,9 is VMID,add your VMIDs here)
vim-cmd vmsvc/power.shutdown 2
vim-cmd vmsvc/power.shutdown 3
vim-cmd vmsvc/power.shutdown 4
vim-cmd vmsvc/power.shutdown 5
vim-cmd vmsvc/power.shutdown 7
vim-cmd vmsvc/power.shutdown 8
#Poweroff Host
/sbin/poweroff
3.添加脚本执行任务
vi /var/spool/cron/crontabs/root
输入以下内内容(即为周二凌晨一点执行该脚本)
0 1 * * 2 sh /vmfs/volumes/62fd4366-f3aa3484-a66b-5c6f693aa786/crontabs/autoshutdown.sh
ESXi主机重启后会改执行任务会自动失效
在有停电情况下,可提前写好脚本,到点查看执行情况即可,下班准时闪人。