Linuxでroot宛メールを削除・転送する方法

Linuxでroot宛メールを削除・転送する方法

Linux環境では、システムやさまざまなアプリケーションから送信されたroot宛のメッセージが、デフォルトで「/var/spool/mail/root」 に書き込まれています。

root宛メールは自動的には削除されないので、定期的に内容を確認して削除したり、外部メールアドレスに転送したりしないと、⼤きなサイズに膨れあがりシステム動作に影響を及ぼすこともあります。

そこでここでは、Redhat互換のLinuxで溜まったroot宛メールを削除する方法や、外部のメールアドレスに転送する方法を紹介します。

root宛メールの削除

root宛メールを削除する手順はいたって簡単で、以下のコマンドを実行するだけです。

# cat /dev/null > /var/spool/mail/root

root宛メールの転送

root宛のメールを外部のメールアドレスに転送したいときは、以下のように設定します。

テキストエディターで「/etc/aliases」ファイルを開き、root宛のメールの転送先を追記します。

# vi /etc/aliases

root: [email protected]

ファイルの編集が完了したら、設定を反映させるために以下のコマンドを実行します。

# newaliases

newaliasesコマンドを実行したときに「-bash: newaliases: command not found」と表示された場合は、そのマシンにPostfixやSendmailといったメールサーバーソフトをインストールして起動しておく必要があります。

設定を反映させたら、以下のコマンドでテストメールを送信して正しく転送されるかを確認しておくと安心です。

# echo "complete setup" | mail -s "`hostname` finished first setup." root

なお、メールの送信ログは、Postfixがインストールされている環境なら「/var/log/maillog」に記録されているので、メールが転送できないときは確認してみるとよいでしょう。

なお、ディストリビューションによっては、デフォルトではmailコマンドがインストールされていない場合があります。そのようなときは、以下のコマンドでインストールできます。

AlmaLinux 8:

# dnf install mailx

AlmaLinux 9:

# dnf install s-nail

あとがき

root宛のメールを定期的に削除するのが面倒なら、外部のメールアドレス宛に転送するよう設定しておくのがおすすめです。