Linux程序管理指令碼

2021-08-28 21:32:21 字數 1416 閱讀 2663

程序管理指令碼

寫給讀者的話

最近一直在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...