自動以PING 測試電腦並在電腦當機時候自動寄發信件出去

說明:
         要達到這樣的功能我分成兩個部分來做
            1.偵測電腦是不是當機寫成一個shell,並產生要寄出信件的內容
            2.寄出信件的部分寫成一個 shell
            3.放到/etc/crontab 讓他定時間去偵測

1.自動去 PING 的方式如下:
#!/bin/bash
ADDRESS="192.168.1.1 tw.yahoo.com"  #在這輸入妳要測試的主機可以是IP或者你申請的DNS

for ipadd in $ADDRESS
do
   echo "$ipadd"                                         #顯示出來你輸入的IP或者DNS
ping -c 2 $ipadd | grep "ttl"                       #PING的測試,成功會傳回 0失敗會傳回其他的值
NUMBER1="$(echo $?)"                         #取出傳回值,交給 IF判斷用
   if [ $NUMBER1 == 0 ];                         #如果值是0 ,代表機器是OK的
     then
       echo "ping $ipadd ok"
     else
       echo "ping $ipadd fail"                        #如果是0以外的值代表機器有問題
       date > /home/crash/fail.txt                                                         #將日期輸入我們要傳送MAIL的檔案中
       echo "SERVER IP : $ipadd FAIL " >> /home/crash/fail.txt        #將SERVER的位置輸入我們要傳送MAIL的檔案中
       /home/crash/mail_send.sh                                                          #呼叫寄信的shell 寄出信件
fi
done

2.自動寄信的方法如下:
#!/bin/bash
MAIL="test1 test2 test3 "      #在這邊填入寄信的帳號(@前面的),每個帳號以空白隔開
DOMAN1="my_domail1"    #這邊要填入的就是寄信位置(@後面的)
DOMAN2="gmail.com"       #這邊要填入的就是寄信位置(@後面的)


for db in $MAIL
do
 cat /home/crash/fail.txt | mail -s "Server Fail" $db@$DOMAN1  #會將產生的檔案 fail.txt寄出去給上面輸入位置
 cat /home/crash/fail.txt | mail -s "Server Fail" $db@$DOMAN2

done

3.將寫好的程式放入 /etc/crontab就可以了
  舉例如下:
   */5 * * * * root /home/crash/all_ping_test.sh