バッチ処理後の変更レコード数やカラムを通知してみる

MySQL

Linux上でバッチ処理を走らせることが多いのですが、
とある処理のバッチ結果を協力会社さんのAさんも知りたいとのことで
処理結果の通知をメールで飛ばしてみることにしました。
slackへ飛ばしたいっていったら、そんなの使ったことないって却下されたので
要望通り。。。

Aさんがらみでまた使うかもしれないのでメモを残しておきます^^;

#!/bin/sh

declare -i CNT
#=================================================
# 送信設定
#=================================================
FROM="hoge@sample.com"
TO="hoge@sample.com"
Subject="DBの値をチェックしメールしました"

/usr/bin/mysql --defaults-extra-file=/root/.my.cnf database_name  -e 
"select some_id as chkid from SAMPLE_TBL where flg_xxx=0 && somedate >= 
'xxxx-xx-xx'" > /tmp/chk_data.log
CNT=`cat /tmp/chk_data.log|wc -l`
LIST=`cat /tmp/chk_data.log`


#=================================================
# メール送信
#=================================================
if [ $CNT -ne 0 ]; then
/usr/sbin/sendmail -f ${FROM} ${TO} <<EOM
From: ${FROM}
To: ${TO}
Subject: ${Subject}
Content-Type:text/plain;charset=UTF-8;

お疲れ様です。
下記のデータが更新されたので連絡します。
------------
${LIST}
------------

お手数ですが、ご確認の程宜しくお願い致します。

EOM
fi

MySQLのパスワードはあまりよくないですが、こんなかんじでおいときます。

# vim /root/.my.cnf
[client]
user = someuser
password = somepassword
タイトルとURLをコピーしました