shell脚本监控网站并实现邮件、短信报警

一、前期准备

  
  
  
  
  1. # service sendmail start  用于发送邮件
  2. # service crond start   用于定时任务
  3. # chkconfig sendmail on  
  4. # chkconfig crond on 

二、配置飞信

1、下载下来的飞信应该是如下结构

 # ls /usr/local/fetion/
done             libACE_SSL-5.7.2.so  libssl.so.4
cache              fetion           libcrypto.so.4       logs
commands           libACE-5.7.2.so  libeay32.dll         plugins

2、需要把libACE-5.7.2.so、libcrypto.so.4、libssl.so.4、libACE_SSL-5.7.2.so 复制到/usr/lib目录中,给fetion添加执行权限,飞信才可以正常运行

  
  
  
  
  1. # cp libACE-5.7.2.so libcrypto.so.4 libssl.so.4 libACE_SSL-5.7.2.so /usr/lib  
  2. # chmod +x fetion 

3、发送飞信的脚本

  
  
  
  
  1. # /usr/local/fetion/fetion --mobile=1356440xxxx --pwd 123456 --to=1885151xxxx --msg-utf8="hi" 

1) mobile后面是发送手机号;
2) pwd后面是飞信密码
3) to后面是接收短信的号码
注:mobile后的手机号必须开通飞信服务,并且to后的手机号必须是mobile的飞信好友

三、脚本监控

  
  
  
  
  1. #!/bin/bash  
  2.  
  3. #网站url地址  
  4. for URL in http://www.abc.com http://www.88888.cn  
  5.  
  6. do  
  7. #获取http响应代码  
  8. HTTP_CODE=`curl -o /dev/null -s -w "%{http_code}" "${URL}"`  
  9.  
  10. #服务器能正常响应,应该返回200的代码  
  11. if [ $HTTP_CODE = 200 ]  
  12.  then   
  13.     echo "$URL is OK" | /bin/mail -s "Http Check" [email protected]  
  14. # else  
  15. #    /usr/local/fetion/fetion --mobile=1356440xxxx --pwd 123456 --to=1885151xxxx --msg-utf8="$URL is ERROR; error code is $HTTP_CODE" 
  16.  
  17. fi  
  18.  
  19. done 

此脚本监控了2个网站www.abc.com与www.88888.cn

使用了for循环

通过取网站正常时的返回值,为200 来匹配

如果正常就发送“相应网站 is OK" 到指定邮箱

如果失败就直接发送短信到1885151xxxx

你可能感兴趣的:(shell,职场,监控,飞信,休闲)