保守監視等で、よく利用するのだが毎回忘れるので備忘録的に。
CRONで毎日お昼の12時に実行するサンプル
0 12 * * * bash /path/to/dir/hogefuga_report.sh
sendmailコマンドを使用して、SQL(postgresql)を実行して結果をメール送信するスクリプトサンプル
hogefuga_report.sh
#!/bin/sh #### 汎用メール送信スクリプト export PATH=$PATH:/usr/sbin export PGPASSWORD=naisyodayo NOWDATE=`date '+%m月%d日 %R '` HOGE_CNT=`psql -U postgres -d dev --tuples-only -c 'select count(*) as hoge_cnt from hogehoge_tbl'` FUGA_CNT=`psql -U postgres -d dev --tuples-only -c 'select count(*) as fuga_cnt from fugafuga_tbl'` HOGE_CNT=`echo ${HOGE_CNT} | tr -d " "` FUGA_CNT=`echo ${FUGA_CNT} | tr -d " "` MAIL_TO="hogeko@hoge.com.jp" MAIL_CC="fugasuke@fuga.com.jp" MAIL_BCC="pekeo@peke.com.jp" MAIL_FROM="ore@oresama.com.jp" SUBJECT="俺様のレポート" DATA="俺様の反響結果は以下となる" mail_send () { cat << EOD | sendmail -t From: ${MAIL_FROM} To: ${MAIL_TO} Cc: ${MAIL_CC} Bcc: ${MAIL_BCC} Subject: ${SUBJECT} MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" 俺様へ 今日(${NOWDATE})のレポートを送るのでよく見ること。 ${DATA} ・ほげ数 ${HOGE_CNT} ・フガ数 ${FUGA_CNT} 以上 EOD } mail_send exit 0
最近のコメント