クローンの操作により、Linuxサーバーから100万の電子メールが生成されました。この cron メッセージは、cron ジョブの実行に関連する問題を解決して検索するのに便利なため、メッセージをすべて削除したくありません。そのため、1か月分のEメールをアーカイブし、残りを削除する必要があります。
答え1
mail
さまざまなコマンドセットを持つさまざまなコマンドがあります。 POSIXの標準化mailx
注文する。
通常、メールボックスには受信した順序で電子メールが含まれています。したがって、古いメッセージを削除するには、通常、数字の低い電子メールを削除します。同様のコマンドを使用してメッセージ範囲を削除できますd 1-42
(最初の42メッセージの削除)。
もう少しコントロールしたいならおすすめです愚か、単純なコマンドよりも多くの制御を提供するコマンドラインEメールクライアントですmail
。 Muttにはテキストモードのインターフェースがあり、スクリプトで書くこともできます。 Muttでは、以下を使用できます。注文する D
削除するメッセージを表示して入力してください。模様 ~d ->1m
1か月以上経過したメッセージを選択してください。削除したいメッセージのリストが満たされている場合は、x
削除マーク付きメッセージの削除を入力します。
答え2
多くの検索の最後に見つかりました。アーカイブメール古いメールを消去するために使用してください。
構文は次のとおりです。
archivemail -d 30 --delete <path-to-mailbox>
(通常は$MAIL
ローカルメールボックスの場所を定義してecho $MAIL
確認してください)。
-n
(- 試運転)オプション。
答え3
私はしばらく同じ問題を抱えていて、私が管理しているメールサーバーに対する簡単な答えを見つけるために、インターネット検索は予想以上に困難です。
ファイルシステムを頻繁に入力し、次のcronジョブを実行する単一ユーザーのメールボックスからメッセージを削除する必要があります。
18 5 * * * /usr/bin/mutt -f /var/spool/mail/developer -e "push D~d>7d<enter>qy<enter>"
または、毎日05:18にファイル(この場合はディレクトリ)/var/spool/mail/developerでmuttを実行し、muttが起動するまで待機(push)し、削除マーク(D)パターンマッチング(〜)日付(d ))7日以上(> 7d)、コマンドを終了したら終了(q)して削除確認(y)