天天看點

shell練習-遠端監控

設計一個腳本,監控遠端的一台機器(假設ip為123.23.11.21)的存活狀态,當發現當機時發一封郵件給你自己。

提示:

1. 你可以使用ping指令   ping -c10 www.baidu.com

2. 發郵件的指令是  echo "郵件内容" |mail -s "主題" [email protected]

3. 腳本可以搞成死循環,每隔30s檢測一次  

<code>#!/bin/bash</code>

<code>#Remote monitoring.If the network is broken,email me~</code>

<code>#2015/07/23 </code>

<code>ping</code> <code>-c10 www.baidu.com &gt; 33.log</code>

<code>t=$(</code><code>awk</code> <code>'{print $1}'</code> <code>33.log)</code>

<code>while</code> <code>[ </code><code>"1"</code> <code>= </code><code>"1"</code> <code>]</code>

<code>do</code>

<code>   </code><code>if</code> <code>[ ! -z $($t) ];</code><code>then</code>

<code>        </code><code>echo</code><code>" "</code>

<code>   </code><code>else</code>

<code>        </code><code>echo</code> <code>"DiaoXianLe"</code> <code>|mail -s </code><code>"down"</code> <code>[email protected]</code>

<code>   </code><code>fi</code>

<code>   </code><code>sleep</code> <code>30</code>

<code>done</code>

上一個寫法有一個錯誤,就是發郵件都是30s一次了。。。不合适,再寫一個修改版的

<code>#2015/07/23</code>

<code>   </code><code>t=$(</code><code>awk</code> <code>'{print $1}'</code> <code>33.log)</code>

<code>        </code><code>sleep</code> <code>30</code>

<code>        </code><code>break</code><code>;</code>

<code>   </code><code>echo</code> <code>"DiaoXianLe"</code> <code>|mail -s </code><code>"down"</code> <code>[email protected]</code>

這樣就隻會發一個郵件給我了

本文轉自 聽丶飛鳥說 51CTO部落格,原文連結:http://blog.51cto.com/286577399/1677438