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