灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3469回复:1

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

楼主#
更多 发布于:2012-09-16 16:21

灯火互联网点评:VPS服务器根据cpu负载及内存占用自动重启:根据剩余实际内存数量作出反应。

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

祝你好运。


喜欢0 评分0
wldtk
新手上路
新手上路
  • 注册日期2012-10-11
  • 发帖数38
  • QQ
  • 火币41枚
  • 粉丝1
  • 关注0
沙发#
发布于:2012-12-07 17:23
选择千锋 选择卓越  千锋3G 手机软件开发培训第一品牌

iphone培训
千锋iphone培训

回复(0) 喜欢(0)     评分
游客

返回顶部