一种Linux网络中的UPS解决方案

王朝system·作者佚名  2006-11-23
宽屏版  字体: |||超大  

目标: 当机房断电后,UPS消耗电池时,即自动拨管理员的BP机报警,并在BP机上显示电池容量,若在电池消耗到一定量时仍不能恢复市电,服务器自动关机。

适用范围:仅适用于 APC Smart 系列的UPS。

所用软件:RedHat Linux 5.2, smartups-tools rpm package

SmartUPSTools homepage: http://www.exploits.org/~rkroll/smartupstools

SmartUPSTools rpm version: http://rufus.w3.org/linux/RPM/

安装指令:

1.安装rpm package smartupstools-0.34-1.rpm

2.接随UPS带的串行电缆到第二个串口,你必须给/dev/ttyS1写权限,并建立

ups到ttyS1的符号链接,因为Smartupstools配置文件/usr/etc/ups.conf中用的

设备是/dev/ups.

[shisd@sh /dev]$ ls ups ttyS1 -l

crwxrwxr-x 1 root root 4, 65 Jun 21 10:18 ttyS1

lrwxrwxrwx 1 root root 5 Mar 9 14:40 ups -> ttyS1

3.至此,然后启动UPS守护进程 #/etc/rc.d/init.d/upsd start, 记录文件是/var/log/ups

4.创建 cron job 每分钟监视 /var/log/ups,根据文件中的数据变化做出相应的反应。

5.# crontab -e

加下面的行 * * * * * /root/ups.sh ( 每分钟运行/root/ups.sh)

6.[shisd@sh root]$ more /root/ups.sh

#!/bin/sh

tail -c 3 /var/log/ups | grep "10" && mail -s "the UPS power fails" your_email_address

tail -c 3 /var/log/ups | grep "10" && /usr/bin/ppp-on

tail -1 /var/log/ups | cut -b23 | grep "0" && /usr/bin/ppp-on

tail -1 /var/log/ups | cut -b24 | grep "1" && /sbin/shutdown -h now

note:

第一行表明 当最后一栏变为 10 时,表明UPS断电,email 通知网管

第二行,同样,最后一栏变为 10 时,启动ppp开始拨号

第三行,当电池容量低于100 (100%)时,一直拨号

第四行,当电池容量低于20( 20%),自动关机。

7. 对于ppp-on,仅改动拨号号码即可。

[shisd@sh shisd]more /usr/bin/ppp-on

BATTERY_STATUS=`/usr/bin/tail -1 /var/log/ups | cut -b23-25`

TELEPHONE=127,1234567#,87654321*$BATTERY_STATUS

Note: 1234567为BP机号码:87654321为回电号码

就将变量BATTERY_STATUS值打在BP机上。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有