今天遇到一個情況,一台用來數據可視化的mongodb服務器中的mongodb服務在進行數據抽取的情況經常出現掛掉的情況,所以寫了一個小腳本。監控mongodb服務是否啟動,如果服務掛掉后啟動自動重啟服務.
此腳本也適用於其他服務。如:nginx,mysql,redis等
服務啟動腳本代碼如下
#!/bin/bash #檢查是否是root用戶 if [ $(id -u) != "0" ] then echo "Not the root user! Try using sudo command!" exit 1 fi #監控服務是是否存活,這里是通過監控端口來監控服務,這里也可以替換為其他服務 netstat -anop | grep 127.0.0.1:27017 if [ $? -ne 1 ] then exit fi echo $(date +%T%n%F)" Restart mongodb Services " >> mongodb.log #重啟服務 /script/mongodb-27017.sh restart
將腳本加入計划任務。每1min檢測一次
crontab -e
*/1 * * * * sh /sh/mongodb.sh