『葉狂人』的怕失憶筆記 Back-End

UPS與Ubuntu服務器檢測斷電關機

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

 

『葉狂人』的怕失憶筆記, author
如果無法改變命運,就改變態度。If you can’t change your fate, change your attitude.
美國華裔小說家 譚恩美 Amy Tan