说明:

操作系统:CentOS

web服务器:apache

问题:

搜索引擎的爬虫导致网站在某一段时间内访问量剧增,服务器压力过大,网站访问超时、页面无法打开。

解决办法:

定时监控服务器负载,超过一定阀值后,自动重启web服务。

apache安装目录:/usr/local/apache

脚本运行日志文件:/usr/local/apache/check_cpu_load.log

脚本存放目录:/home/crontab

cd /home/crontab

vi check_cpu_load.sh #编辑,添加以下代码

#!/bin/sh

#crontab: */5 * * * * /home/crontab/check_cpu_load.sh >> /usr/local/apache/check_cpu_load.log

TOP_SYS_LOAD_NUM=3

SYS_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 ]

then

echo "#0#" $(date +"%y-%m-%d %H:%M:%S") "pkill httpd" `ps -ef | grep httpd | wc -l` >> /usr/local/apache/check_cpu_load.log

/usr/local/apache/bin/apachectl stop

sleep 5

pkill httpd

sleep 5

for i in 1 2 3

do

if [ `pgrep httpd | wc -l` -le 0 ]

then

/usr/local/apache/bin/apachectl start

sleep 30

echo "#1#" $(date +"%y-%m-%d %H:%M:%S") "start httpd" `ps -ef | grep httpd | wc -l` >> /usr/local/apache/check_cpu_load.log

fi

done

else

if [ `pgrep httpd | wc -l` -le 0 ]

then

/usr/local/apache/bin/apachectl start

sleep 30

echo "#2#" $(date +"%y-%m-%d %H:%M:%S") "start httpd" `ps -ef | grep httpd | wc -l` >> /usr/local/apache/check_cpu_load.log

fi

fi

:wq! #保存退出

crontab -e #添加计划任务

*/5 * * * * /home/crontab/check_cpu_load.sh >> /usr/local/apache/check_cpu_load.log

:wq! #保存退出

service crond restart #重启计划任务

通过以上设置后,当服务器负载超过3时,在5分钟内会自动运行脚本,重启apache服务,使网站恢复访问。

linux超过cpu负载重启脚本,linux下Web服务器CPU负载超过阀值自动重启脚本相关推荐

  1. Linux电脑自动重启,修复win10下distributedcom(10016)导致电脑自动重启的方法

    小编相信很多的用户都有遇到过电脑自动重启的情况吧?自动重启的原因数也数不清,今天我们主要说其中的一种.由于最近有用户在出现这个故障之后就在系统中查看了一下事件查看器,其中有一个叫做Distribute ...

  2. 在linux下python爬虫进程发生异常时自动重启直至正常结束的方法

    在linux下python爬虫进程发生异常时自动重启直至正常结束的方法 参考文章: (1)在linux下python爬虫进程发生异常时自动重启直至正常结束的方法 (2)https://www.cnbl ...

  3. Red Hat EnterPrise Linux 5.4下web服务器的综合使用(普通站点、虚拟主机、安全性、...

    在这篇博客中,小编我将详细的讲解一下linux下web服务器的使用,相信这对于web网站维护人员来说是非常有用的,在linux下实现web服务器的软件有很多,最常用的就是apache啦,小编这里使用的 ...

  4. Linux下Web服务器应用之基础简介

    Linux下Web服务器应用之基础简介 一.web服务器基本知识: WWW 是 World Wide Web 的缩写 URL:<协定>://<主机地址或主机名>[:port]/ ...

  5. Linux下Web服务器架设攻略

    Linux下Web服务器架设攻略 [收藏此页] [打印] [推荐] [挑错] 作者:小云  2004-12-23    内容导航: 概述 [IT168 专稿]今天我们来看看如何将Web服务器架在Lin ...

  6. linux安装基于PHP的web软件,Linux下Web服务器应用之基于LAMP构建phpwind论坛

    Linux下Web服务器应用之 基于LAMP构建phpwind论坛 v什么是LAMP Ü目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境 v构成组件 ÜLinux.Apache. ...

  7. 自己动手架设linux下Web服务器(图)2

    二.Linux操作系统安装步骤.设置     CentOS 4.x或 RedHat EnterPrise Linux 4.x系统的安装比较简单,整个安装过程可以全部基于图形界面安装,一般来说能够独立安 ...

  8. 【Linux】DHCP、FTP、DNS、WEB服务器的配置过程

    [Linux]DHCP.FTP.DNS.WEB服务器的配置过程 要求 一.DHCP服务器配置过程 二.FTP服务器配置过程 三.DNS服务器配置过程 四.WEB服务器配置过程 要求 某企业有一个局域网 ...

  9. linux终止mysql进程_Ubuntu Linux下定时监测MySQL进程终止时自动重启的方法

    前言 最近发现MySQL服务隔三差五就会挂掉,导致我的网站和爬虫都无法正常运作.自己的网站是基于MySQL,在做爬虫存取一些资料的时候也是基于MySQL,数据量一大了,MySQL它就有点受不了了,时不 ...

最新文章

  1. 正则表达式(中文表达:检查表达式符)
  2. mysql练习数据_数据分析学习第一关-入门
  3. PAT甲级 -- 1090 Highest Price in Supply Chain (25 分)
  4. Jackson ObjectMapper readValue过程
  5. C#通用类库--短信猫操作类1(原始AT命令)
  6. 浏览器兼容console对象的简要解决方案
  7. 面对key数量多和区间查询低效问题:Hash索引趴窝,LSM树申请出场
  8. matlab两个数组竖向叠加,matlab - 过滤器同时使用两个数组中的元素 - 堆栈内存溢出...
  9. PSIM软件学习---07 元件参数动态扫描
  10. 阿里 P8 员工招聘私人助理被辞退;微信上线「拍一拍」功能;FreeBSD 11.4 释出 | 极客头条...
  11. SpringBoot与缓存使用及原理(上)
  12. 整理NLPIR基本功能函数
  13. unity3d利用pano2VR实现全景视图效果
  14. sql语句动态拼接多个查询条件查询数据库
  15. 获取钉钉考勤机的打卡记录并且解析
  16. Python编写简易别踩白块儿脚本
  17. 别了甲骨文,别了拉里·埃里森!
  18. 小数据 vs. 大数据
  19. 手游代理平台官方最全解释
  20. 牛刀:中国房价的买点还没有…

热门文章

  1. ArcGIS AddIn 图斑比例分割工具,调用捕捉功能
  2. 初识php的笔记(基础知识)
  3. AndroidStudio_Android Studio项目中报Call requires API level 18 (current min is 16)---Android原生开发工作笔记232
  4. npm前端包管理工具简介---npm工作笔记001
  5. axios的介绍与页面配置---axios工作笔记003
  6. Vue事件处理_vue的事件处理超级方便_功能强大---vue工作笔记0011
  7. Spring Security OAuth2.0_实现分布式认证授权_扩展用户信息_Spring Security OAuth2.0认证授权---springcloud工作笔记156
  8. 基于Spring Security的认证方式_实现授权功能_Spring Security OAuth2.0认证授权---springcloud工作笔记120
  9. STM32工作笔记0048---Systick滴答定时器---延时函数讲解
  10. SVN工作笔记002---svn提示上次操作有误,请执行cleanup