博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自动监控linux服务器负载并重启Web服务的脚本
阅读量:6941 次
发布时间:2019-06-27

本文共 1080 字,大约阅读时间需要 3 分钟。

hot3.png

[shell]#!/bin/sh#usage: */2 * * * * root /root/checkload.sh >>/root/checkload.logTOP_SYS_LOAD_NUM=3SYS_LOAD_NUM=`uptime | awk '{print $(NF-2)}' | sed 's/,//'`echo $(date  "%y-%m-%d") `uptime`if [ `echo "$TOP_SYS_LOAD_NUM < $SYS_LOAD_NUM"|bc` -eq 1 ]thenecho "AutoStart:" $(date  "%y-%m-%d %H:%M:%S") "pkill httpd" `ps -ef | grep httpd | wc -l`pkill httpdsleep 10for i in 1 2 3doif [ `pgrep httpd | wc -l` -le 0 ]thenservice httpd startsleep 15echo "AutoStart:" $(date  "%y-%m-%d %H:%M:%S") "start httpd" `ps -ef | grep httpd | wc -l`fidoneelseif [ `pgrep httpd | wc -l` -le 0 ]thenservice httpd startsleep 15echo "AutoStart:" $(date  "%y-%m-%d %H:%M:%S") "start httpd" `ps -ef | grep httpd | wc -l`fifi[/shell]脚本中TOP_SYS_LOAD_NUM表示最大允许的系统平均负载值,当超过这一值的时候,脚本就开始重启apache服务。Linux系统中,通过很多命令都可以查看当前的系统平均负载值,比如:w,top或者uptime命令,命令输出的内容表示在过去的1、5、15分钟的系统负载情况。脚本的使用也挺简便,直接到/etc/cron.d/ 建立一个定时执行文件,填入如下内容即可:*/2 * * * * root /root/checkload.sh >>/root/checkload.log这里*/2,表示每两分钟执行一次指定的脚本,并将执行结果输出到/root/checkload.log文件中。 你也可以根据自己的需要,来修改执行检查的时间。

转载于:https://my.oschina.net/liufeng815/blog/353559

你可能感兴趣的文章
React文档(四)渲染元素
查看>>
问题清单
查看>>
安装msdn
查看>>
CSS中使用display:none的注意事项
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
查看>>
第一篇:多线程使用
查看>>
JAVA集合类汇总
查看>>
我的Android进阶之旅------> Android在TextView中显示图片方法
查看>>
调整CodeIgniter错误报告级别
查看>>
文件的内容操作
查看>>
Css基础2
查看>>
知识一些备忘
查看>>
正则遇到的问题集合
查看>>
寒假作业2
查看>>
Python paramiko
查看>>
ng-options 如何实现其中一项option禁选
查看>>
DEV带筛选行CheckBox选中问题
查看>>
from语法导入
查看>>
Python配置mysql指引
查看>>
页面底部input被弹出来的键盘遮挡(iOS系统)—附解决方案
查看>>