首页 > 系统相关 >【Shell脚本】监控 httpd 的进程数,根据监控情况做相应处理

【Shell脚本】监控 httpd 的进程数,根据监控情况做相应处理

时间:2024-08-28 12:54:48浏览次数:9  
标签:httpd Shell 检测 重启 监控 进程 fi 500

#!/bin/bash  
###############################################################################################################################  
#需求:  
#1.每隔10s监控httpd的进程数,若进程数大于等于500,则自动重启Apache服务,并检测服务是否重启成功  
#2.若未成功则需要再次启动,若重启5次依旧没有成功,则向管理员发送告警邮件,并退出检测  
#3.如果启动成功,则等待1分钟后再次检测httpd进程数,若进程数正常,则恢复正常检测(10s一次),否则放弃重启并向管理员发送告警邮件,并退出检测  
###############################################################################################################################  
#计数器函数  
check_service()  
{  
 j=0  
 for i in `seq 1 5`   
 do  
 #重启Apache的命令  
 /usr/local/apache2/bin/apachectl restart 2> /var/log/httpderr.log      
    #判断服务是否重启成功  
 if [ $? -eq 0 ] then  
 break  
 else  
 j=$[$j+1] fi  
    #判断服务是否已尝试重启5次  
 if [ $j -eq 5 ] then  
 mail.py exit  
 fi  
 done }while :do  
 n=`pgrep -l httpd|wc -l`   
 #判断httpd服务进程数是否超过500  
 if [ $n -gt 500 ] then  
 /usr/local/apache2/bin/apachectl restart   
 if [ $? -ne 0 ]   
 then  
 check_service   
 else  
 sleep 60  
 n2=`pgrep -l httpd|wc -l`   
 #判断重启后是否依旧超过500  
             if [ $n2 -gt 500 ]   
 then   
 mail.py exit  
 fi  
 fi  
 fi  
 #每隔10s检测一次  
 sleep 10done  

标签:httpd,Shell,检测,重启,监控,进程,fi,500
From: https://www.cnblogs.com/o-O-oO/p/18384431

相关文章

  • 【Shell脚本】批量修改服务器用户密码
    Linux主机SSH连接信息:旧密码#catold_pass.txt192.168.18.217root12345622192.168.18.218root12345622内容格式:IPUserPasswordPortSSH远程修改密码脚本:新密码随机生成#!/bin/bashOLD_INFO=old_pass.txtNEW_INFO=new_pass.txtfor......
  • 【Shell脚本】iptables 自动屏蔽访问网站频繁的IP
    场景恶意访问,安全防范1)屏蔽每分钟访问超过200的IP方法1:根据访问日志(Nginx为例)#!/bin/bashDATE=$(date+%d/%b/%Y:%H:%M)ABNORMAL_IP=$(tail-n5000access.log|grep$DATE|awk'{a[$1]++}END{for(iina)if(a[i]>100)printi}')#先tail防止文件过大,读取慢,数字可......
  • 【Shell脚本】根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁
    #!/bin/bash#####################################################################################根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁####################################################################################lo......
  • 【Shell脚本】判断用户输入的是否为IP地址
    方法1:#!/bin/bashfunctioncheck_ip(){IP=$1VALID_CHECK=$(echo$IP|awk-F.'$1<=255&&$2<=255&&$3<=255&&$4<=255{print"yes"}')ifecho$IP|grep-E"^[0-9]{1,3}\.[0-9]{1,3}\......
  • 【Shell脚本】用户猜数字
    #!/bin/bash#脚本生成一个100以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,#猜小了或猜大了,直至用户猜对脚本结束。#RANDOM为系统自带的系统变量,值为0‐32767的随机数#使用取余算法将随机数变为1‐100的随机数num=$[RANDOM%100+1]echo"$n......
  • 【Shell脚本】批量修改文件名
    示例:#toucharticle_{1..3}.html#lsarticle_1.htmlarticle_2.htmlarticle_3.html把article改为bbs方法1:forfilein$(ls*html);domv$filebbs_${file#*_}#mv$file$(echo$file|sed-r's/.*(_.*)/bbs\1/')#mv$file$(ec......
  • 【Shell 脚本】检测两台服务器指定目录下的文件一致性
    #!/bin/bash######################################检测两台服务器指定目录下的文件一致性######################################通过对比两台服务器上文件的md5值,达到检测一致性的目的dir=/data/webb_ip=192.168.88.10#将指定目录下的文件全部遍历出来并......
  • 【Shell脚本】定时清空文件内容,定时记录文件大小
    #!/bin/bash#################################################################每小时执行一次脚本(任务计划),当时间为0点或12点时,将目标目录下的所有文件内#容清空,但不删除文件,其他时间则只统计各个文件的大小,一个文件一行,输出到以时#间和日期命名的文件中,需要考虑目标目录......
  • 【Shell脚本】检测网卡流量,并按规定格式记录在日志中
    #!/bin/bash########################################################检测网卡流量,并按规定格式记录在日志中#规定一分钟记录一次#日志格式如下所示:#2019-08-1220:40#ens33input:1234bps#ens33output:1235bps######################################......
  • 如何在 JMeter 中用前置处理器BeanShell PreProcessor获取系统当前日期?
    一、导读最近,艾兜兜儿正在用JMeter做压力测试和性能测试,接口测试字段需要日期,手动修改太麻烦,就想着自动获取系统当前日期,于是,就有了本文。来,和艾兜兜儿一起学习如何用 BeanShellPreProcessor获取自动日期吧。二、BeanShellPreProcessor获取系统当前日期操作流程:......