1
這是我的第一個bash腳本。如果有報警,報警繼電器狀態檢查併發郵件一次
我有報警繼電器,我想用cron每2分鐘檢查一次繼電器狀態,如果它是「1」,那麼只發送一次電子郵件警告。如果繼電器爲「1」,則必須手動重置繼電器,並且不要每隔2分鐘發送一次電子郵件。
它的工作原理,但有什麼我可以改善或做更好的方式嗎?
#!/bin/bash
lockfile=/tmp/MLP_alarm.lock
alarm_state=$(/home/talo/bin/MLP_alarm_relay_state.py)
if [ $alarm_state = 0 -a -f $lockfile ]
then
rm $lockfile
echo "Alarm reset and lockfile removed"
exit 1
elif [ $alarm_state = 0 -a ! -f $lockfile ]
then
echo "Everything OK!"
exit 1
elif [ $alarm_state = 1 -a ! -f $lockfile ]
then
touch $lockfile
echo 「Alarm detected」 | mail -s 「ALARM !!!」 [email protected]
echo "email sent"
exit 1
elif [ $alarm_state = 1 -a -f $lockfile ]
then
echo "Email sent earlier"
exit 1
else
echo "Something went wrong!!!"
exit 1
fi