我已经做了下面的脚本通过cron猛砸ping状态脚本
HOSTS="ns1.server.com ns2.server.com"
SUBJECT="Host Down"
for myHost in $HOSTS
do
count=$(ping -c 10 $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{
print $1 }')
if [ $count -eq 0 ]; then
echo "Host : $myHost is down (ping failed) at $(date)" | sendEmail -f email (email address removed) -u "$SUBJECT" etc etc
fi
done
运行每5分钟然而,当一台主机宕机,我会接受并每5分钟反映此电子邮件。我想要的是添加该功能,以便它只在状态发生变化时通过电子邮件发送给我。即如果它关闭,我不希望它发送任何进一步的更新,直到它启动。
什么地方保存先前的结果(在文件中),并与比较当前结果? – fedorqui
是的,这就是我想要做的,但不知道如何编写它 – Lurch
你可以使用两个文件:'活着'和'下'。然后,例如,如果它已关闭,现在您检测到它再次关闭,请检查该名称是否在“down”文件中。 – fedorqui