cloudpackの監視サービスで、1時間に1回アラートメールをまとめたものメールで送る必要性が出てきました。

実現手段として、ML(Mailman)のダイジェストメール機能(1日分のメールを1つのメールにまとめて1日1回送る機能)を利用することにし、1日1回の設定を1時間に1回に変更します。

設定は簡単で、ダイジェストメールは下記のcrontabで、定期的にコマンドを実行することで実現しています。

# cat /etc/cron.d/mailman
...
# Noon, mail digests for lists that do periodic as well as threshhold delivery.
0 * * * * mailman /usr/lib/mailman/cron/senddigests
...

デフォルトは1日1回送信されるように設定されているので、上記のように1時間に1回実行されるように変更することで、ダイジェストメールも1時間に1回送信されるようになります。

尚、/etc/cron.d/mailmanは/etc/init.d/mailman startで、/usr/lib/mailman/cron/crontab.inが/etc/cron.d/mailmanにコピーされるようになっています。

恒久的にcronの設定を反映する場合は、/usr/lib/mailman/cron/crontab.inも同様に修正する必要があります。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら