程序管理指令碼
寫給讀者的話
最近一直在linux上搞事情,碰到給小問題。因為專案需要,可能需要維護比較多的程序,每個程序的有無,都回影響整個專案。程序單個管理起來比較麻煩,就寫了給指令碼用來管理。
指令碼最開始是我什麼時候想起來就執行一次的,檢測一下哪些程序沒開或者崩潰了,哪些程序的情況是怎樣怎樣的。後來我發現,這樣也不是個事兒啊,機器能做的事情,幹嘛非要自己做,就用linux的定時器,定時的去執行這個指令碼。
crontab -e
檢視linux定時器的日誌:
tail -f /var/log/cron.log
*/3 * * * * sh /home/kf_ai_00/text_classify/manager.sh > /home/kf_ai_00/text_classify/manager.log 2>
&1
這裡的意思是,每三分鐘這個定時器執行一遍這個manager.sh指令碼,然後把日誌以重寫的方式輸出到manager.log這個檔案中。
如下指令碼檢測程序是否正常開啟,如果程序關閉,則開啟。
#!/bin/bash
#等待時間
sec=1
function sayprocess(
)function splitline(
)function waittime(
)splitline
splitline
#...
#檢測實體識別
sayprocess "ner_model_server"
key=
`echo $?`if[
[$key
== 1 ]];
then
nohup /usr/local/bin/python3 /home/kf_ai_00/ner_model_server.py > ner_model_server.log 2>
&1 &
fiwaittime
#檢測smartbinlog
依照這種方式,可以檢測程序的情況,如果崩潰或者沒開,或者怎樣怎樣都可以自行做處理。這裡的**只貼上了部分核心內容,已經夠普通的需求了。其餘不便透露,希望讀者們理解。
shell指令碼(管理守護程序)
工作中常常會遇到處理訊息佇列的消費者程序,這樣的程序是乙個守護程序,即乙個服務。服務通常寫個shell指令碼來管理,查詢服務的status 啟動start 關閉stop 重啟reload。最近在學習shell,也模仿寫了乙個簡單的服務管理指令碼 首先貼出模擬的守護程序服務,php程式,命名demo....
Linux 結束程序指令碼
以前終止乙個程式一般要ps ef grep 然後kill 9 pid,殺死該程序.最近寫了乙個指令碼 輸入k命令 然後出來選項 輸入序號,然後指令碼執行kill操作.在一定程度上簡化了操作.指令碼如下 bin bash kw tomcat if n 1 then echo you don t inp...
linux看護程序指令碼
1.看護程序指令碼。工作原理是用shell不停的去查詢程序,如果發現程序不存在則啟動程序。如果用gnome啟動,要在圖形介面啟動指令碼。start.sh bin bash program directory path pro path opt bin program name pro name re...