Esxi autoshutdown.sh

#!/bin/sh
# 1. 关闭所有运行中的虚拟机(软关机,30秒后强制)
for vmid in $(vim-cmd vmsvc/getallvms | awk 'NR>1 {print $1}'); do
    if vim-cmd vmsvc/power.getstate $vmid | grep -q "Powered on"; then
        vim-cmd vmsvc/power.shutdown $vmid
        sleep 30
        if vim-cmd vmsvc/power.getstate $vmid | grep -q "Powered on"; then
            vim-cmd vmsvc/power.off $vmid
        fi
    fi
done

sleep 5

# 2. 进入维护模式
vim-cmd /hostsvc/maintenance_mode_enter

sleep 5

# 3. 关闭主机
/sbin/poweroff
Categories: 脚本