linux检查运行程序文件,LINUX定时检查程序运行状态
當初偶那么一不小心,不知怎么給PHP配了個和MySQL版本不匹配的so文件,于是我的數據庫就經常因為某些兼容問題掛吖掛吖掛吖。。。動不動MySQL服務就會掛掉,但我又不知道該怎么搞出正確的庫,所以只好搞這么一個時刻檢查服務是否正確運行的辦法來折中一下…
要讓檢查腳本自動定時執行,我們需要
這里我已經寫好了一個
#!/bin/sh
c=`ps -ef | grep 'mysql' |grep -v grep |wc -l`
if [ $c -eq 0 ]
then
echo "MySQL is not running,starting it."
echo `service mysql start`
echo ""
else
echo "MySQL running!"
fi
c=`ps -ef | grep 'apache2' |grep -v grep |wc -l`
if [ $c -eq 0 ]
then
echo "Apache2 is not running,starting it."
echo `service apache2 start`
echo ""
else
echo "Apache2 running!"
fi
c=`ps -ef | grep 'sshd' |grep -v grep |wc -l`
if [ $c -eq 0 ]
then
echo "SSH is not running,starting it."
echo `service sshd start`
echo ""
else
echo "SSH running!"
fi
echo "Service checked done!"
這是一個檢查apache2,mysql和ssh三個重要服務的腳本,當發現程序不在運行,腳本就會啟動服務。
然后我們要定時來執行這個檢查腳本,以前我一直以為crontab-u用戶名-e來編輯用戶的定時任務,一般來說為了保證任務有權限運行我們都用root用戶。如下
crontab -u root -e
接著就會打開vi編輯器,編輯器會打開一個文檔,那就是root用戶的定時任務文件,要定什么時就直接寫在里面保存即可,cron會自動檢查并執行到期的任務。
編輯器出現后我們要插個新行并寫上我們的任務,任務格式是這樣
分鐘 小時 一個月里第幾天 月份 一周里第幾天 要執行的命令
前面的時間部分的值用*代替表示任意此單位的時間都會執行,還有種寫法,就是每過多少個單位這樣的時間執行一次,如下
*/1 * * * * echo 'miao'
這表示每1分鐘執行一次,同理如果第一個位置是*/2的話就是每兩分鐘執行一次。
現在我們要每一分鐘檢查一次我們的服務是不是都在正常的運行,所以就寫上這么一個任務
*/1 * * * * sh 檢查腳本的路徑
然后按esc鍵再:wq保存即可,定時任務就會定時執行了。祖國再也不用擔心我的博客老是“數據庫連接錯誤”了。
總結
以上是生活随笔為你收集整理的linux检查运行程序文件,LINUX定时检查程序运行状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux mode4的双网卡绑定,Li
- 下一篇: linux7.2 静态IP设置,Cent