UPS與Ubuntu服務器檢測斷電關機
原理:通過crontab定時檢測,路由器是否與目前ubuntu服務器ping通來看是否斷電。
crontab -e
輸入定時時間跟指令
*/5 * * * * /home/one/ac_detect.sh
ac_detec.sh 腳本內容
#!/bin/bash
MonitorIP=192.168.1.1
#接在市電上,需要一直保持開機狀態的設備地址,如MonitorIP使用的是路由器地址網關地址192.168.1.1
DelayTime=60s
#關機等待時間1分鐘60s,2分鐘120s,3分鐘180s
ping -c 1 $MonitorIP > /dev/null
ret=$?
if [ $ret -eq 0 ]
then
echo ' AC Power OK ! '
else
echo ' AC Power maybe off, checking again after 1 minutes ! '
sleep $DelayTime
ping -c 1 $MonitorIP > /dev/null
ret=$?
if [ $ret -eq 0 ]
then
echo ' Check again, AC Power OK ! '
else
echo 'poweroff'
sudo -S poweroff << EOF
你的密碼=====》特別要留意這個地方,因爲普通用戶是無法直接調用poweroff指令進行關機的,因此需要提供密碼
EOF
fi
fi