Linuxでプロセスが落ちてしまった場合のプロセスの起動とメール通知のスクリプトとなります。
Contents
スクリプトの作成
ここでは、/opt/batch/proces_check.shに作成することで進めていきます。
$ sudo vi /opt/batch/proces_check.sh
以下の内容を記載します。
#! /bin/bash #監視対象プロセス PROCESS_NAME=httpd #メール送信先 MAILTO=aaaa@aaaa.com #メールFrom MAILFROM=bbbb@bbbb.com #メールSMTPポート番号 SMTPSRV=smtp.gmail.com:587 #SMTPユーザ SMTPUSER=aaaa@aaaa.com #SMTPパスワード SMTPPASS=XXXXXXXXXXXX #プロセス数をカウント count=`ps -ef | grep $PROCESS_NAME | grep -v grep | wc -l` #該当のプロセスがない場合の処理 if [ $count = 0 ]; then #サービスを起動 echo "$PROCESS_NAME Down" echo "$PROCESS_NAME Start" #起動コマンド sudo systemctl restart httpd.service #メールを送信(ここではmailxコマンドで送信) echo "プロセスを再起動しました。" | mailx -s "プロセス再起動通知" -S smtp=$SMTPSRV -S smtp-use-starttls -S smtp-auth-user=$SMTPUSER -S smtp-auth-password=$SMTPPASS -S from=$MAILFROM $MAILTO else echo "$PROCESS_NAME OK" fi
作成したスクリプトをcronに設定
作成したスクリプトに実行権限を付与してcronに登録し実行できるようにします。
$ chmod o+x /opt/batch/proces_check.sh $ sudo crontab -e
以下を追記
*/5 * * * * /opt/batch/proces_check.sh > /var/log/myjob.log 2>&1
以上で設定は完了です。
(Visited 3,020 times, 5 visits today)