raspberry pi:ログ監視スクリプト

ログの特定の文字列を監視し、メール送信する場合の処理です。

監視対象ログファイル:/var/log/mirakurun/mirakurun.stderr.log

監視対象文字列:”Error: no available tuners”

メール送付先:sample@test.com

vi logchecker.sh
#!/bin/sh
# 検出対象ログファイル
TARGET_LOG="/var/log/mirakurun/mirakurun.stderr.log"

# 検出文字列
_error_conditions="Error: no available tuners"

# ログファイルを監視する関数
hit_action() {
    while read i
    do
        echo $i | grep -q "${_error_conditions}"
        if [ $? = "0" ];then
            # アクション
            mail -s "Alert:Check Log Files" sample@test.com < /etc/issue
        fi
    done
}

# main
if [ ! -f ${TARGET_LOG} ]; then
    touch ${TARGET_LOG}
fi

tail -n 0 --follow=name --retry $TARGET_LOG | hit_action

# スクリプトの実行
/usr/local/bin/logchecker.sh > /dev/null 2>&1 &

参考にさせていただきました。ありがとうございます。

ログ監視スクリプト目的ログファイルに特定の文字列が出力されたら、何か処理を実行したい。裏の目的Qiitaに投稿してみたかった。環境CentOSbashスクリプト/var/log/m…

シェアする

  • このエントリーをはてなブックマークに追加

フォローする