这里介绍有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
原文地址:
http://www.ebtcn.net/linux-vps-server-cpu-load-and-memory-usage-automatically-restart-bash-shell-script-2236.html
共有 0 条评论