Linux系统下,停电关机程序

最近,发现好多人需要停电后,服务器UPS在电量耗尽前,如果能够自动关机,能够弥补网管不在现场的遗憾。

在linux停电关机程序,本人网上搜索了一下,有好多人发帖需要。

本人结合实际情况修改一下,配合说明。但愿大家能够利用上。

停电关机的作用条件就是:

市电停电,由于UPS均有一定的时间限制,这样,如果忘记了,或者网管不在场,系统能够察觉市电异常,从而实现自动关机。

原理:系统每个三分钟检测一个IP地址,比如路由器,交换机,如果这个地址,检测ping不通的情况下,系统会自动调用关机命令。

         路由器和交换机不能外接UPS,否则起不到作用。

下面看程序代码:


#!/bin/sh           ; 这是一个shell脚本

while true       ;循环,实际上是一个死循环
do
ping -w 5 -c 1 192.168.1.1 > /dev/null      ;和路由器通信检测,路由器或者交换机都可,但是上面不能接UPS,修改为你自己的实际地址
ret=$?
if [ $ret -eq 0 ]                   ;判断是否成功,
then sleep 180                       ; 成功则睡眠3分钟,也就是说实现了三分钟检测一次
else
shutdown -h now                ;关机命令
fi
done                          


以上程序代码结束!


使用vi 编辑器,将以上代码输入,注意后面的说明文字不要复制。保存为一个文件,如tdgj,利用 chmod 777 文件名,使之具有执行权。

在 rc.local末尾加上一行,即可开机自动运行。

比如: ./tdgj &  

&字符表示后台运行。

Tags: 停电关机

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5

发表评论

评论内容 (必填):