メールアカウントを作ったきり忘れてるのか、サーバのmailboxにメールが溜まったままの人がいる。
サーバのHDDに余裕があるとはいえ、このままじゃあんまりヨロシクない。
(なんか一番多い人で150MBくらい溜まってる)

で、mailboxに溜まったままの古いメールは問答無用で削除することにした。
幸いなことにqmailはMaildir形式でメール1通/1ファイルで保存しているので、ファイルの日付を見て古いメールかどうか識別できる。

[shell]# find /home/vpopmail/domains/*/*/Maildir/*/ -name “*.server.blh.jp,*” -atime +30 -exec rm -f {} \;[/shell]
ということで

  • vpopmailが管理する(/home/vpopmail/)全てのヴァーチャルドメイン(domains/*/)の全てのユーザのmailbox内(*/Maildir/*/)で
  • 30日以上アクセスされていない(-atime +30)メール(-name “*.server.blh.jp,*”)を
  • 問答無用で削除(-exec rm -f {} \;)

これをcronで1日1回実行すればOKだな(´ー`)

参考
Linuxのコマンドラインで特定の日付だけ(もしくは日付以前)のファイルを削除する方法はありますか? – 人力検索はてな



関連しそうなentry