14) crontab/定期的な実行 このエントリーをはてなブックマークに追加

crontabによる定期的な実行

処理の流れのように、bounceHammerがバウンスメールを解析し、それを集積し、データベースへ登録・蓄積されているデータを更新する流れを自動化するには、crontabでbounceHammerのいくつかのコマンドラインツールを定期的に呼び出すとよいでしょう。

bounceHammerをインストールすると、インストールしたディレクトリ/etc/crontab-example という名前でcrontabの簡単なサンプルが置かれます。

crontabを設定する

多くのシステムでは/etc/crontabですが、そのファイルがない場合は、rootでcrontab -eを実行してください。 宛先から戻ってきたバウンスメールは、/etc/mail/aliases等で/var/mail/bouncemail/home/postmaster/Maildir/newに保存されているものとします。

rootでcrontabを編集
# crontab -e
# bounceHammer PARSE | UPDATE | INSERT
BHROOT='/usr/local/bouncehammer'
BMBOX='/var/mail/bouncemail'
BMDIR='/home/postmaster/Maildir/new'

# 10分毎に解析を実行する
0-59/10 * * * * ${BHROOT}/bin/mailboxparser -g --log ${BMBOX} --remove
0-59/10 * * * * ${BHROOT}/bin/mailboxparser -g --log ${BMDIR} --remove

# 15分ごとに集積する
0-59/15 * * * * ${BHROOT}/bin/logger -c --remove

# 毎時0分、当日分のログをデータベースに記録
00 * * * * ${BHROOT}/bin/databasectl --update --today

# 早朝3時、昨日分のログをデータベースに記録
00 03 * * * ${BHROOT}/bin/databasectl --update --yesterday

解析を実行したりデータベースに記録したりするタイミングや間隔は、インストールしたbounceHammerが処理する量(バウンスの発生量)やサーバの環境・スペックに合わせて適当に調整してください。/etc/crontabに大量に記述する事が困難であればシェルスクリプトを書いても良いでしょう。

bounceHammerによる解析処理と集積・蓄積については、crontabに記述をしておけばあとはバウンスメールが来る度に自動で処理されます。

No TrackBacks

TrackBack URL: http://bouncehammer.jp/cgi-bin/mt/mt-tb.cgi/7

Leave a comment







Pages