Shellスクリプトでサーバーの同時メールアラームを監視する

1120 ワード

サーバーにとってオンライン率は重要で、問題が発生したらすぐに解決しなければならないが、システム管理者はずっとパソコンのそばにいられず、スクリプト監視サイトを通じて問題が発生したらmailを通じて管理者に通知し、139メールボックスであれば無料の携帯電話メール通知もできる.システムによる直接送信mailはブロックされやすく、mailを使用してサードパーティsmtpに接続してメールを送信できます.
#!/bin/bash
#set -x
while true
do
list=(www.test.com cp.test.com)
[email protected]
date=$(date -d "today" +"%Y-%m-%d-%H:%M:%S")
i=0
id=${#list[*]}
while [ $i -lt $id ]
do
if ping -c1 ${list[$i]} >/dev/null
then
echo  $date: ${list[$i]} ping 。
else
if curl -m 10  ${list[$i]} > /dev/null
then
echo  $date: ${list[$i]} ping , 。
else
echo  " , ${list[$i]} ping , ! :$date"|mail -s " ${list[$i]} !  :$date" $mail
until
date=$(date -d "today" +"%Y-%m-%d-%H:%M:%S")
ping -c1 ${list[$i]} >/dev/null && echo " ! ${list[$i]} , :$date"|mail -s " ${list[$i]} !  :$date" $mail
do
sleep 5
done
fi
fi
let i++
done
sleep 60
done

実行:
nohup sh /path/file.sh & # , 60 。

電源オン:
転載先:http://blog.onovps.com/archives/shell-check-server-mail.html
転載先:https://blog.51cto.com/bronte/1213070