CentOS下Web服务器CPU负载超过阀值自动重启shell脚本

前端之家收集整理的这篇文章主要介绍了CentOS下Web服务器CPU负载超过阀值自动重启shell脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

定时监控服务器负载,超过一定阀值后,自动重启web服务。
@H_502_6@apache安装目录:/usr/local/apache@H_502_6@脚本运行日志文件:/usr/local/apache/check_cpu_load.log@H_502_6@脚本存放目录:/home/crontab@H_502_6@cd /home/crontab@H_502_6@vi check_cpu_load.sh #编辑,添加以下代码@H_502_6@#!/bin/sh@H_502_6@#crontab: */5 * * * * /home/crontab/check_cpu_load.sh >> /usr/local/apache/check_cpu_load.log@H_502_6@TOP_SYS_LOAD_NUM=3@H_502_6@SYS_LOAD_NUM=`uptime | awk '{print $(NF-2)}' | sed 's/,//'`@H_502_6@echo $(date +"%y-%m-%d") `uptime`@H_502_6@if [ `echo "$TOP_SYS_LOAD_NUM < $SYS_LOAD_NUM"|bc` -eq 1 ]@H_502_6@then@H_502_6@echo "#0#" $(date +"%y-%m-%d %H:%M:%S") "pkill httpd" `ps-ef | grep httpd | wc -l` >> /usr/local/apache/check_cpu_load.log@H_502_6@/usr/local/apache/bin/apachectl stop@H_502_6@sleep 5@H_502_6@pkill httpd@H_502_6@for i in 1 2 3@H_502_6@do@H_502_6@if [ `pgrep httpd | wc -l` -le 0 ]@H_502_6@/usr/local/apache/bin/apachectl start@H_502_6@sleep 30@H_502_6@echo "#1#" $(date +"%y-%m-%d %H:%M:%S") "start httpd" `ps -ef | grep httpd | wc -l` >> /usr/local/apache/check_cpu_load.log@H_502_6@fi@H_502_6@done@H_502_6@else@H_502_6@echo "#2#" $(date +"%y-%m-%d %H:%M:%S") "start httpd" `ps -ef | grep httpd | wc -l` >> /usr/local/apache/check_cpu_load.log@H_502_6@:wq! #保存退出@H_502_6@crontab -e #添加计划任务@H_502_6@*/5 * * * * /home/crontab/check_cpu_load.sh >> /usr/local/apache/check_cpu_load.log@H_502_6@service crond restart #重启计划任务@H_502_6@通过以上设置后,当服务器负载超过3时,在5分钟内会自动运行脚本,重启apache服务,使网站恢复访问

本文出自http://www.111cn.net/sys/CentOS/102450.htm

猜你在找的CentOS相关文章