2018-11-11 shell练习题

在服务器上,写一个监控脚本,要求如下:

1.每隔10s去检测一次服务器上的httpd的进程数,如果大于等于500的时候,就需要自动重启一下apache服务,并检测启动

是否成功?

2.若没有正常启动还需再一次启动,最大不成功数超过5次则需要立即发邮件通知管理员,并且以后不需要再检测。

3.如果启动成功后,1分钟后再次检测httpd进程数,若正常则重复之前操作(每隔10S检测一次),若还是大于等于500,那

放弃重启并需发邮件给管理员,然后自动退出该脚本。假设其中发邮件脚本为之前使用的mail.py

#!/bin/bash
checkhttpd(){
    RTV=0
    c=0
    b=`ps -ef | grep httpd | wc -l`
    while [ $b -ge 500 ]
      do
       sleep 10s
       if [ $b -ge 500 ]
        then
          systemctl restart httpd
          RTV=$?
       elif [ $RTV -eq 0 ]
         then
           sleep 60s
       else

       elif [ $RTV -eq 0 &&  ]
          then
           continue;
       else
         echo "mail.py"
      fi
     done
}
checkhttpd

 

 

# break 命令不执行当前循环体内break下面的语句从当前循环退出. 
# continue 命令是程序在本循体内忽略下面的语句,从循环头开始执行

查看httpd的进程数

ps -ef | grep httpd | wc -l

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值