Crontab Reboot Server when excessive CPU usage
Khi Load Averages của CPU quá cao thì một số nhà cung cấp Server hoặc VPS sẽ nhắc nhở bạn thậm chí Shutdown Server của bạn.
Trên là 1 lần ra đảo của mình, bị shutdown rồi lần sau ra đảo luôn, xin xỏ để kiểm tra trong 1 ngày, thế là mình tìm đến cái Crontab này.
Crontab Reboot Server: Tự động Reboot VPS khi Load Averages của CPU quá cao.
Đầu tiên phải tạo 1 file dạng rebootwhencpuhightload.sh với nội dung như dưới. Rồi lưu ở đâu cũng được, miễn nhớ đường dẫn. VD: /usr/local/auto/
!/bin/sh
Script reboot server khi Load Averages lớn hơn 9
check=cat /proc/loadavg | sed 's/\./ /' | awk '{print $1}'
if [ $check -gt 9 ]
then
/sbin/reboot
fi
Lưu ý chỉ sửa con số 9 tại if [ $check -gt 9 ] thành giá trị bạn muốn. Đây là chỉ số Load Averages vượt quá thì hệ thống sẽ thực hiện lệnh reboot.
Tiếp theo là tạo 1 Cron job để Server tự định kỳ kiểm tra để Reboot.
*/3 * * * * root /usr/local/auto/rebootwhencpuhightload.sh >/dev/null 2>&1
Ví dụ cụ thể về 1 lệnh Cron Job reboot server/vps
- */3 * * * * : là 3 phút kiểm tra hệ thống 1 lần.
- /usr/local/auto/rebootwhencpuhightload.sh : Đường dẫn tới nơi lưu file .sh đã tạo ở phần trên.
- >/dev/null 2>&1 : Mặc đinh.
Nếu lệnh trên các bạn đang không biết phải gõ ở đâu thì tham khảo thêm bài này: https://thuthuatcaidat.com/sua-loi-no-crontab-for-root/ Đọc đoạn hướng dẫn 4 bước để tạo và lưu Crontab cục bộ với user root.
Xem log Crond đang chạy bằng lệnh: tail -f /var/log/cron
Restart Crond : service crond restart