Linux VPS服务器依据系统资源自动重启bash shell脚本

时间:2021-08-12 19:58:47

这里介绍有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 这样的错误请自行百度或者谷歌。

祝你好运。