没有ups的esxi服务器,需要在停电前定时关机:
参考文章:http://blog.51cto.com/h2appy/1106164
过程:
1. 首先进入ESXI6.0的命令行,发现官方的脚本 /sbin/powerOffVms 有问题,查找后是python2.7的语法,但是
6.0已经是python3了,把 脚本中的 exception ,e 都改为 exception as e即可,改后应该存入
/vmfs/volumes/datastore1/目录下,sbin下的文件重启后即消失。
2. 再在该目录下加入关esxi脚本:
#!/bin/ash
/vmfs/volumes/datastore1/poweroffmyvms
/sbin/poweroff
本来想在esxi中加入crontab任务,一直没有成功,可能是权限不够? 只能改成远端的ubuntu上用crontab执行ssh脚本实现
3.远端的ssh脚本,本来想用python实现,但是ssh模块一直安装不成功,只好用shell脚本加上expect实现,代码如下:
#!/usr/bin/expect -f
set user root
set host ×××
set port 22
set password ×××
set timeout -1
spawn ssh $user@$host -p $port
expect {
"*yes*" {send "yes\r";expect_contine}
"*word:" {send "$password\r"}
}
expect "*×××"
send "./vmfs/volumes/datastore1/autoshutdown.sh\r"
send "exit\r"
expect eof exit 0
×××根据具体环境确定