CentOS下使用shell脚本监控网站是否正常

最近买了个vps,上面放了一个网站,访问量一大老是无响应,就写了一个监控脚本,每分钟检测一次,如果无法访问就重启服务。

1. 编写Shell脚本,保存到/opt/http_monitor

  1. #!/bin/bash   
  2.   
  3. #网站url地址   
  4. URL="http://www.xxx.com/"  
  5.   
  6. #获取http响应代码   
  7. HTTP_CODE=`curl -o /dev/null -s -w "%{http_code}" "${URL}"`   
  8. #echo $HTTP_CODE    
  9.   
  10. #服务器能正常响应,应该返回200的代码   
  11. if [ $HTTP_CODE != '200' ];then   
  12. #重启服务   
  13. service httpd restart   
  14. fi  

2. 增加到crontab,使用crontab -e命令添加新的任务:

Shell代码

  1. #每分钟运行一次   
  2. */1 * * * * /opt/http_monitor  

3. 停掉服务,测试,cool!一分钟后自动启动了!可是中文乱码了,查了一下原来是没有加载系统变量,好办,在http_monitor中加入locale环境变量就可以了:

Shell代码 

export LC_ALL=zh_CN.UTF-8   

 

相关推荐