
特定のログが実行中かどうかを確認した後、Unix サーバーから自動メールを送信したいと考えています。3 時間ごとにログインして、X.log と y.log が実行されたかどうかを確認し、実行されたときに手動で記録したいと考えています。これを自動化するのを手伝ってくれる人はいますか?
答え1
以下のスクリプトを使用して、ファイルが存在するかどうかを確認し、それを 3 時間ごとに実行するように cronjob に設定できます。
コード:
#!/bin/bash
export LOGNAME="x.log"
export DATE=$(date "+%Y-%m-%d-%T")
export MAILID="Emailid"
if [[ -e "$LOGNAME" ]];then
mail -s "$HOSTNAME: is having $LOGNAME on @ $DATE" $MAILID < "$LOGNAME"
else
mail -s "$HOSTNAME: is not having $LOGNAME on @ $DATE" $MAILID
fi
crontab での設定:
#crontab -e
以下の行を追加します。
* */3 * * * <path of your script to run>