天天看点

shell检测网站状态码和访问时间

<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