linux服務器進程監控及自動重啟的方法介紹
自動重啟故障相信大家都遇到過,原因也有很多,跟系統,硬件或者外界因素都有關。這篇主要講關于linux服務器進程監控及自動重啟的簡單方案,實現原理主要是使用linux提供的crontab機制,定時查詢服務器進程是否存在,如果宕機則處理我們預設的腳本。
方法步驟
本周開始,新手游進行刪檔封測階段,前兩天表現還好,今天更新后出現幾次宕機行為,比較影響玩家的測試和體驗,我們的服務器管理系統尚未完善,為了晚上能夠預防宕機造成損失,先用一種簡單的方案臨時頂替一下。
實現原理主要是使用linux提供的crontab機制,定時查詢服務器進程是否存在,如果宕機則處理我們預設的腳本。
首先我們要向crontab加入一個新任務。
# crontab -e:進入編輯狀態,其實就是使用vi編輯。
*/1 * * * * sh /root/monitor.sh
我這里只是簡單的設置每分鐘調用一個shell腳本monitor.sh。這里可以配置的更強大,大家可以去搜索一下crontab的教程,網上有很多這類的教程。
這里需要注意的是,很多教程配置command的時候直接使用/root/monitor.sh,我設置的時候發現這樣配置不會執行shell腳本,前面加上sh后就能執行了。
然后我們開始寫monitor.sh這個shell腳本。
#! /bin/sh proc_name="WorldFrame_d"
#進程名 proc_num()
#查詢進程數
{
num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
return $num}proc_num number=$?
#獲取進程數量
if [ $number -eq 0 ]
#如果進程數量為0then
#重新啟動服務器,或者擴展其它內容。
cd /longwen/server/sbin/linux; ./WorldFrame_d -c 1fi
我這個腳本,只是簡單的檢測了進程是否存在,不存在就自動重啟服務器。
這里其實也可以擴展一下,比如對日志文件的處理以及重啟時間等的記錄等等。
需要注意的是在windows編輯sh文件要注意格式問題(CR/LR),否則容易出現sh執行錯誤的BUG。
補充:電腦總是自動重啟怎么辦
1、右擊“我的電腦”,選擇“屬性”項。
2、在打開的系統屬性窗口中選擇“高級系統設置”項進入。
3、在打開的“系統屬性”窗口中,切換至“高級”選擇卡,然后點擊“系統和故障恢復 設置”按鈕。
4、在打開的窗口中取消勾選“自動重啟啟動”項并按確認即可。
5、當電腦在使用的過程中產生藍屏時,我們就可以進入“系統日志”管理器中查看產生系統失敗的根源啦。打開“運行”對話框,輸入命令“eventvwr.msc”即可查看日志信息,從中定位系統產生失敗的原因。
6、當然,我們也可以通過禁用某些開機項來嘗試修復系統。打開“運行”對話框,輸入命令“msconfig”進入“系統配置實用程序”界面,勾選“常規”選項卡下的“診斷啟動”選項。
7、還有一種修復計算機藍屏或重啟故障的方法,就是在電腦啟動時按“F8”進入系統故障菜單,從中選擇“安全模式”進入或“最后一次正確的配置”項進入系統,將及有可能修復系統。
8、當然,如果以上方法均不能解決問題,那么建議您還是重新安裝一下系統,畢竟安裝系統所耗費的時間相對修復所用時間要少許多。一勞永逸之事才是王道。
相關閱讀:電腦自動重啟方法
方法一:
1、打開控制面板-管理工具-計劃任務程序
2、創建基本任務,名稱欄目,輸入“定時重啟”,下一步;
3、在窗口里,有每天、每周、每月、一次各種選擇,這里小誠選擇一次,這次執行完就失效,您可以根據自己的情況進行選擇哈,點擊下一步;
4、設置重啟的日期、時間點,下一步;
5、選擇啟動程序,下一步;
6、在打開頁面里,點擊瀏覽,找到C;\Windows\System32\Shutdown.exe,點擊打開;
7、在添加參數欄目里輸入“-r”(重啟),進行下一步
8、點擊完成,即可實現自動重啟了
方法二:
網上搜索個自動重啟關機類軟件,這比較多,簡單設置一下就可以了。
linux服務器進程監控及自動重啟的方法介紹相關文章: