linux连接ups实现自动关机,esxi 6.x 虚拟机连接ups 断电自动关机

编程入门 行业动态 更新时间:2024-10-07 18:26:50

linux连接ups实现<a href=https://www.elefans.com/category/jswz/34/1757601.html style=自动关机,esxi 6.x 虚拟机连接ups 断电自动关机"/>

linux连接ups实现自动关机,esxi 6.x 虚拟机连接ups 断电自动关机

Loading...

虚拟机添加usb设备,选择ups的usb,并在虚拟机中安装配套的ups软件,设置断电自动关机,比如10分钟。

如果主板支持通电开机,ups虚拟机还需要设置自动启动,时间和顺序自行掌控。

所有虚拟机尽量安装vmtools,调用系统的关机,而不是关闭电源。

系统-自动启动,配置安装了vmtools的虚拟机,停止操作设置为关机,等待信号检测:是。

```shell

#列出所有虚拟机

vim-cmd vmsvc/getallvms

#以下为参考 ups.sh 酌情修改

#正常关机

vim-cmd vmsvc/power.shutdown vmid

#关闭电源

vim-cmd vmsvc/power.off vmid

```

```shell

cd vmfs/volumes/datastore1

mkdir sh

vi ups.sh

```

ups.sh

10.10.10.13改为自己的虚拟机IP,sleep 改为合适的数值。

示例:断电10分钟后虚拟机关机,第一次ping虚拟机IP检测失败,5分钟后再次检测,如果再次检测失败,esxi关机。

```shell

#!/bin/sh

while

ping -c 1 10.10.10.13 > /dev/null

[ $? -eq 0 ];

do

echo 'AC Power OK !' >> /vmfs/volumes/datastore1/sh/ups.log;date >> /vmfs/volumes/datastore1/sh/ups.log

sleep 60

done

echo 'AC Power maybe off, checking again after 5 minutes !' >> /vmfs/volumes/datastore1/sh/ups.log;date >> /vmfs/volumes/datastore1/sh/ups.log

sleep 300

ping -c 1 10.10.10.13 > /dev/null

if [ $? -eq 0 ]

then

echo 'Checkagain, AC Power OK !' >> /vmfs/volumes/datastore1/sh/ups.log;date >> /vmfs/volumes/datastore1/sh/ups.log

else

echo 'AC Power is already off, shut down Esxi Now!' >> /vmfs/volumes/datastore1/sh/ups.log;date >> /vmfs/volumes/datastore1/sh/ups.log

vim-cmd vmsvc/power.shutdown 11

sleep 60

vim-cmd vmsvc/power.shutdown 10

sleep 60

vim-cmd vmsvc/power.shutdown 6

sleep 60

vim-cmd vmsvc/power.shutdown 3

sleep 60

vim-cmd vmsvc/power.off 2

sleep 60

poweroff

fi

```

```shell

vi monitor.sh

```

monitor.sh 守护ups.sh运行

```shell

vi monitor.sh

```

```shell

NUM=`ps -c | grep ups.sh | grep -v grep |wc -l`

echo ${NUM}

#

if [ "${NUM}" -lt "1" ];then

/vmfs/volumes/datastore1/sh/ups.sh &

echo 'monitor start' >> /vmfs/volumes/datastore1/sh/ups.log;date >> /vmfs/volumes/datastore1/sh/ups.log

fi

exit 0

```

```shell

#sh权限

chmod 777 monitor.sh

chmod 777 ups.sh

```

```shell

#esxi重启后引导会自动恢复初始状态 需要添加一个每次启动自动写引导

vi /etc/rc.local.d/local.sh

#在exit之前添加以下cron代码 3分钟执行一次

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

/bin/echo '*/3 * * * * /vmfs/volumes/datastore1/sh/monitor.sh' >> /var/spool/cron/crontabs/root

/usr/lib/vmware/busybox/bin/busybox crond

#保存

/sbin/auto-backup.sh

```

最后重新引导esxi即可,日志文件保存在/datastore1/ups.log。

最后修改:2021 年 01 月 06 日 04 : 48 PM

© 允许规范转载

赞赏

如果觉得我的文章对你有用,请随意赞赏

×Close

赞赏作者

扫一扫支付

支付宝支付

微信支付

更多推荐

linux连接ups实现自动关机,esxi 6.x 虚拟机连接ups 断电自动关机

本文发布于:2024-02-14 03:16:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1761653.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自动关机   虚拟机   ups   linux   esxi

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!