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