基於Crontab開機自啟動並監控程序狀態

2021-09-17 21:55:07 字數 1350 閱讀 7763

目錄

1.需求描述

2.監控指令碼

3.crontab定時任務

主機環境是linux,發布的應用希望滿足以下幾個條件

(1) 主機斷電、重啟時自動重啟應用

(2) 分鐘級監控應用的執行狀況,如果發現應用已經不存在,則自動啟動程序。

#!/bin/sh

# manage.py是程序名稱,修改為自己的即可

v_num=`ps -ef|grep "manage.py"|grep -v more|grep -v tail|grep -v grep |wc -l`

if [ $v_num -lt 2 ]

then

date

echo "程序不存在"

ps -ef|grep "manage.py"|grep -v more|grep -v tail|grep -v grep |awk ''|xargs kill -9

# 應用啟動的根目錄

cd /opt/lzy/web/yisheng/

# 應用啟動的命令

python manage.py runserver 127.0.0.1:8006

sleep 20

v_num=`ps -ef|grep "manage.py"|grep -v more|grep -v tail|grep -v grep |wc -l`

if [ $v_num -eq 2 ]

then

date

echo "已恢復正常"

fielse

date

echo "程式正常執行,不需要重啟!"

fi

自己使用的時候,注意下程序名稱以及進行啟動的命令,修改為自己的即可。儲存上述的指令碼到mon.s**件中。

注:

如果指令碼檔案時windows電腦上編輯好,然後直接把檔案拷貝到linux主機上的話,是會有問題的,字串的編碼有出錯,需要特殊處理下。最好是直接把內容複製,然後再linux主機上,使用vi命令新增檔案的方式。如果一定要拷貝檔案的話,參考這個鏈結的解決方法。

新增定時任務到crontab中

#檢視當前的crontab列表

crontab -l

#編輯插入crontab

crontab -e

進入編輯狀態後,插入如下crontab

0-59 * * * * /opt/lzy/web/yisheng/mon.sh >>/opt/lzy/web/yisheng/mon.log
分 時 日 月 星期  監控指令碼》輸出日誌

開機自啟動

1.建立uid3.rss uid3 是mmp 中的 uid 0x100039ce 0xeb32ada7 0xeb32ada7 需要建立的檔案名字是 eb32ada7.rss 建立到工程名下的 data 目錄下 該檔案的內容格式如下 include resource startup item info...

開機自啟動

使程式可以隨windows自啟動的方式有 1.啟動資料夾 將程式或程式的快捷方式放置到啟動資料夾 xp 系統路徑 documents and settings administrator 開始 選單 程式 啟動 win7 2.登錄檔 當前使用者 1 hkey current user softwar...

開機自啟動

注意 一 如果檔案在c program files x86 下,這時無論使用system 命令還是bat命令列,都無法實現,因為系統無法識別空格。這樣需要在program files x86 新增雙引號,即 c program files x86 如果是bat命令列 c program files ...