Linux 技术手札

Shell Script – 发现 Load Average 高自动执行指令

当系统的 Load Average 很高时, 可能面临当机的风险, 遇到这个问题可以用 Shell Script 定时检查系统的 Load Average, 当发现 Load Average 到达某一个设定好的数值时, 便自动执行一些指令, 例如重启服务, kill process 或向系统管理员发出电邮通知等。

以下 Shell Script 会透过定时读取 /proc/loadavg 的数值, 当发现 Load Average 高时 (以下设定为 5), 便会向系统管理员发出电邮通知, 同时会写入 /var/log/loadavg.log 作纪录, 另外也可以按自己的需要, 重新启动服务 (如 httpd)。

首先建立 check-loadavg.sh 档案, 并加入以下内容:

然后给予 check-loadavg.sh 执行权限:

# chmod +x check-loadavg.sh

最后将 check-loadavg.sh 加入 crontab, 每分钟执行一次:

# crontab -e

加入以下一行:

* * * * * /path/to/check-loadavg.sh >/dev/null 2>&1
Exit mobile version