目標: 當機房斷電後,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機上。