Linux

Linux VPS服务器根据CPU负载及内存占用自动重启的bash shell脚本

 这里介绍有2种不同的操作:

1、监控 linux 服务器负载及内存占用,如 MySQl、php-fpm,当负载或内存占用达到设置值后,便自动重启该进程以避免宕机:根据剩余内存比例反应

2、VPS服务器根据CPU负载及内存占用自动重启:根据剩余实际内存数量作出反应

先说说压缩包里面的文件,分别是auto_reboot.sh和check_reboot.sh,分别对应这上面的1、2两点。下载压缩包后,先自行修改里面的参数来符合自己服务器的配置,详细设置看下方

1、auto_reboot.sh设置的地方:

  •  # 设置最大内存占用百分比
  • PID_MEM_MAX=”85″
  • # 设置最大系统负载
  • SYS_LOAD_MAX=”3″    
  • # 设置需要监控的服务名称
  • NAME_LIST=”php-fpm mysql”

2、check_reboot.sh设置的地方:

  • # 设置最小剩余内存,一般至少要剩余50M可用(单位兆)
  • FREE_MEM_MIN=”50″ 
  • # 设置最大系统负载
  • SYS_LOAD_MAX=”3″ 
  • # 设置重启服务的最小剩余内存(单位兆)
  • RESTART_FREE_MEM_MIN=”500″ 
  • # 设置需要监控的服务名称
  • NAME_LIST=”httpd mysqld” 

红色的地方需要根据自己的服务器硬件配置适当修改,修改完后把两个*.sh文件上传到服务器上Root能够访问的路径下边,添加计划任务,设置每分钟检查一次

crontab -e
* * * * * /bin/bash/root/auto_reboot.sh

上面的代码注意每个*号后面都以Tab键进行分割,后面的路径是你刚才上传的文件的路径,一定要root能够访问到的路径才行,注意文件的位置要搞正确。

请确保您的Linux系统中已经安装了bc,否则会出现错误。
查看是否安装了bc可以使用命令:
bc -v

如果没有安装,centos可以用 yum -y install bc 安装它

可以使用以下命令测试脚本是否正常运行(如果正常,应该是不会返回任何东西的)
sh /bin/bash/root/auto_reboot.sh

如果出现 syntax error near unexpected token `do 这样的错误请自行百度或者谷歌。

祝你好运。

文件下载:reboot.zip

Publish Comment发表评论

点击刷新验证码 点击图片可刷新验证码

Comment网友评论

詹绍乾 Jancy © 版权所有 2010

Copyright © 2010 by zhanshaoqian.cn All right reserved.