当前位置:Linux教程 - Linux综合 - 一种Linux网络中的UPS解决方案

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

  目标: 当机房断电后,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机上。

(出处:http://www.sheup.com)