這裡介紹有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 這樣的錯誤請自行百度或者谷歌。
祝你好運。