<code></code>
版權聲明:原創作品,如需轉載,請注明出處。否則将追究法律責任
<code>[root@hddcluster2 script]</code><code># cat test_site.sh </code>
<code>#!/bin/bash </code>
<code> </code>
<code>SITES=(</code><code>"http://10.0.0.2"</code> <code>"http://www.163.com"</code><code>) </code><code># 要監控的網站 </code>
<code>NOTICE_EMAIL=</code><code>'[email protected]'</code> <code># 管理者電郵 </code>
<code>DATE=$(</code><code>date</code> <code>+%Y-%m-%d</code><code>' '</code><code>%H:%M:%S)</code>
<code>function</code> <code>SENDMAIL()</code>
<code>{</code>
<code> </code><code>echo</code> <code>$1 </code>
<code>}</code>
<code>function</code> <code>CHECK_SITE_CODE()</code>
<code># 循環判斷每個site </code>
<code> </code><code>for</code> <code>site </code><code>in</code> <code>${SITES[*]}; </code><code>do</code>
<code> </code><code>printf</code> <code>"start to access ${site}\n"</code>
<code> </code><code>site_code=$(curl -o </code><code>/dev/null</code> <code>-s -w %{http_code} </code><code>"${site}"</code><code>) </code>
<code> </code><code>printf</code> <code>"$(date '+%Y-%m-%d %H:%M:%S')\n"</code>
<code> </code><code>printf</code> <code>"site http code return:${site_code}\n\n"</code>
<code> </code><code>if</code> <code>[ ${site_code} != 200 ];</code>
<code> </code><code>then</code>
<code> </code><code>echo</code> <code>"Subject: ${site} can't access ${DATE}"</code> <code>| SENDMAIL ${NOTICE_EMAIL} </code>
<code> </code><code>fi</code>
<code>done</code>
<code>function</code> <code>MAX_ACCESS_TIME()</code>
<code> </code><code>for</code> <code>site </code><code>in</code> <code>${SITES[*]}; </code><code>do</code>
<code> </code><code>site_access_time=$(curl -o </code><code>/dev/null</code> <code>-s -w </code><code>"time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}"</code> <code>"${site}"</code><code>)</code>
<code> </code><code>echo</code> <code>"$site"</code>
<code> </code><code>time_total=${site_access_time</code><code>##*:} </code>
<code> </code><code>#echo "$time_total"</code>
<code> </code><code>printf</code> <code>"site access time\n${time_total}\n"</code>
<code> </code><code>var=${time_total%.*}</code>
<code> </code><code>if</code> <code>[ ${var} -</code><code>ge</code> <code>2 ];</code>
<code> </code><code>then</code>
<code> </code><code>echo</code> <code>"Subject: ${site} can't access ${DATE} "</code> <code>| SENDMAIL ${NOTICE_EMAIL}</code>
<code> </code><code>fi</code>
<code> </code><code>done</code>
<code>function</code> <code>SEND_MAIL()</code>
<code> </code><code>/usr/local/python</code>
<code>echo</code> <code>"check the httpd code"</code>
<code>CHECK_SITE_CODE</code>
<code>echo</code> <code>"-----------------------------------------"</code><code>\n</code>
<code>echo</code> <code>"check max access time"</code>
<code>MAX_ACCESS_TIME</code>
本文轉自 yanconggod 51CTO部落格,原文連結:http://blog.51cto.com/yanconggod/1906247