2011-02-07 66 views
0

你好 我想製作一個shell腳本來檢查ping響應。如果沒有迴應,我希望它給我發一封電子郵件,告訴我它已關閉。試圖讓一個shell腳本,如果一個IP地址發生故障,發送給我和電子郵件

我想要做的是收到一封電子郵件,如果我的一個交換機出現故障。

這是要作爲cronjob btw運行 提前感謝您的任何幫助。

+0

,所以我創建了一個離譜pt while ping -c 3 172.16.0.255 | grep $ reponse; if $ reponse =「Request」; mail -s「廣告開關已關閉」[email protected] 其他 退出0 粗糙我正在使用不正確的語法。這兩個例子是非常有用的,但他們沒有按照我需要的方式工作。我對shell腳本相當陌生,所以我不確定如何聲明變量。 – 2011-02-08 19:47:43

回答

0

我不知道是否平安的返回值是標準化的,所以檢查的文檔,你的平安,但如果你的平安返回一個合理的值,那麼你可以簡單地做:(「合理價值」的含義零,如果接收到至少一個響應BSD平滿足這一條件。)

 
while ping -c 1 $IP; do 
    sleep $TIMEOUT 
done 
mail -s "$IP is down" [email protected] 

0

這不是測試,但它應該給你的想法如何解決這個問題:

ping -c 1 <SOME IP> | grep "1 received" || echo "I lost connection" | mail -s "link is down!!" [email protected] 
+0

你的意思是`echo`,而不是`cat`,除非你有一個名爲「I lost connection」的文件。 – 2011-02-08 01:12:33

相關問題