• ベストアンサー

Linuxサーバのメールスプールからメールを個別に削除したい

Linuxサーバの管理をしていますが、スプールに保存されている、特定のユーザー(foobar)のメールボックスが肥大化し200MBを超えディスク領域を圧迫するようになってきました。 スプール /var/spool/mail の中のファイル foobar を rm で削除してしまうのが手っ取り早いのですが、ファイル内のメールを個別に削除するようなツールはないでしょうか。 できれば下記のようなことができると嬉しいです。 ・ユーザーが読んだのに残しているメールは消す ・ある日付より古いメールは消す ・Subject等の条件判定に一致したものを消す ファイルサイズは 200MB を超えているので、PC等からPOPでアクセスして取捨選択するのは難しいと思います。

  • haru44
  • お礼率68% (153/223)

質問者が選んだベストアンサー

  • ベストアンサー
  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.3

正直なところ、質問者さんは間違った方向に気を遣っているように思います。 こういうものは、あらかじめ運用ルールを決めておいて、「こういう事態の場合はこうします」と言えばすむ話ではないでしょうか。 (社内の人間関係などの問題もあるでしょうから、端で言うほど簡単ではないのは承知しているつもりですが) また、このようなことを管理者側でやると、作業に失敗したときに管理者に責任が及びますし、ユーザに変な期待を持たせることにもなります。 というわけで、以下のどれかの手を取ることをおすすめします。 ・rmコマンドでスプールをきれいさっぱり消してしまう ・スプールファイルのユーザに、メールを取り込んでもらう ・スプールファイルを別のサーバ(ファイルサーバなどでも良い)に移し、そこからメールを取り込んでもらう いかがでしょう?

haru44
質問者

お礼

おっしゃるとおりです。

その他の回答 (2)

noname#17587
noname#17587
回答No.2

Linuxではmailxは標準で無いんでしたっけ? はっきりと覚えていないんですが、このコマンドである程度メールの操作ができたはずです

haru44
質問者

お礼

早速の回答ありがとうございます。 私が使っている RedHat Linux にも mail コマンド(/bin/mail)はあります。 ただ、メールの中にはSPAMも多く、Subject の一覧を表示させただけでも文字化けしてしまい、操作不能になってしまうことがあるので困っていました。 あと、ある程度の自動処理をしたいので、コマンドラインから一括で処理できるツールがあると嬉しいのですが…

  • level30
  • ベストアンサー率62% (86/138)
回答No.1

使ったことはありませんが、「nPOP」というソフトウェアであれば、 ダウンロードせずにヘッダ情報だけ取り出し削除することができ るようです。 すべての要望はクリアできないと思いますが...

参考URL:
http://www.nakka.com/soft/npop/
haru44
質問者

お礼

早速の回答ありがとうございます。 nPOPの場合メールを1個1個手作業で処理しないといけないと思うので、選択肢から外してしまっていました。 何年何月以前を全部削除とか、Subject に foobar を含むものを全部削除とか、そういうことをしたいので、ちょっと難しいかなと。

関連するQ&A

  • メールのキューの削除

    /var/spool/mqueueにファイルが沢山溜まっています。 rmで単に削除しても大丈夫でしょうか? findの exec?パラメータを使って、1ヶ月前までのメールスプールを削除する描き方も知りたいです。

  • メールボックスrootの削除

    sendmailを使用しています。 rootのメールボックスが2Gを超え、動きがにぶくなっています。 削除しようと思うのですが、 (1)sendmailをkillする (2)/var/spool/mail/rootをRMする (3)sendmailを再立ち上げ といった手順を実施していいですか? 乱暴すぎるかなと不安に思っています。

  • Perl:あるファイル名が指定のリスト(テキストファイル)になければ、そのファイルを消去するというのを作りたいのですが。

    RHL9.0を使ってます。/var/spool/mail/以下に次のようなファイルがあったとします。 taro hanako daisuke yukie また、/home/admin/user-name.txtというファイルには次のように書かれています。 taro hanako … このとき、perlを用いて/var/spool/mailディレクトリからuser-name.txtに名前のない人のファイルを消去するというスクリプトを作りたいのですが。おそらくif 文を使うと思うのですがどうすればよいでしょう。$userという変数にuser-name.txtの一つ一つを代入してWhile文でまわすことはできてます。後は「$userという名前のファイルが/var/spool/mail以下になかったらsystem("rm /var/spool/mail/$user");を実行する。」とするだけです。 ちなみに、userdelを-rコマンドをつけずに消去された人たちのものが実際存在する人たちのものと混在しているため消したいと言うのが動機です。

  • rootユーザのメールボックスへのメール書き込みを止めたい。

    こんにちは。Linux Red Hatで質問です。 ●ユーザ毎のメールボックス(ここでは/var/spool/mail/root) へのエラーメール書き込みを止める方法をご存知でしょうか? 万が一それを止める方法がないなら、rootログインするたびに 「You have mail」と常に表示されるのを止める方法をご存知 でしょうか。 rootでログインすると「You have mail」と常に表示されます。 /var/spool/mail/配下のrootファイルがいつも増大しているのですが、 これを削除すると一時的に出なくなります。 でもしばらくするとまたrootファイルが復活・増大し、rootログインすると再度「You have mail」が表示されます。 中身を見ると、当該マシンのcronで動作するログ削除シェルが実行するたびに、対象ディレクトリが存在しない、というエラーメールを /var/spool/mail/rootに追記しているみたいです。 1時間に一度実行されるシェルなのです。 宜しくお願いいたします。

  • 配布されたメールはどのディレクトリィに保存されますか?

    デフォルトセッティングで設定されているEメールサーバを稼動しています。 ユーザ、fooのために配布されたメールをどのディレクトリィに保存しますか? という問題に対して 答えは /home/foo/mail です。 私は受け取ったメールをスプールするための /var/spool/mail ディレクトリィの方に保存されると思うのですがどうでしょうか? 回答のほどよろしくお願い致します。

  • サーバーにあるメールをダウンロードするには

    エクスチェンジサーバーを使っているのですが 1000件くらいしかメールがないのに メールボックスがパンパンになってしまいました。 そもそもメールボックスが900MBしかありません。 一度すべてのメールを削除して、 サーバーにあるメールを受信しなおしたいのですが メールを削除することはできるのですか サーバーにあるメールをダウンロードするにはどうすればいいでしょうか? 削除だけしてメールのダウンロードできなかったら困っちゃいます。

  • メールサーバの/var/spool/mail にあるrootファイルを開きたい

    RedHatLinux9でメールサーバをDMZ側に構築しました。 メールサーバはsendmailとUWIMAPを使用しています。 メールがおかれているところは、/var/spool/mail だと思うのですが、 今日、FTPソフトで、/var/spool/mailの中をのぞいてみると、 rootのファイルがおかれていて、メールが届いているようでした。 rootのメールを受け取るように設定はした覚えがないのですが、どうしてこのようなファイルがあるのでしょうか? とりあえず、開いてみようとOutlookExpressでrootのアカウントとパスワードの設定をしたのですが、受信しようとすると、パスワードを聞かれてしまい、Linuxで使用しているパスワードではないようです。 どうやったら、このメールを見ることができますか?

  • sendmailのキュー

    古いメールサーバを廃棄します。 その前にキューにたまったメールの処理をしたいと思います。 キューの消し方は、mailqコマンドでメッセージIDを調べ、 【手順1】 $ rm /var/spool/mqueue/dfJAA00**** $ rm /var/spool/mqueue/qfJAA00**** などとすればよいと聞きました。→d***とq***を消す。 しかし、/var/spool/mqueueをみると、頭文字がdやqのメッセージ ばかりではなく、頭文字が大文字のQや大文字のT、小文字のt、 小文字のxなどのファイルがあります。 これらのファイルは、どのような性質のファイルなのでしょうか? 【手順1】を実行すれば、自動的に消えてくれるようなファイル なのでしょうか? mailqコマンドで、メールキューがなくなった後も、これらのファイルが残っていた場合の対処方法などもご教授いただければ幸いです。 よろしくお願いいたします。

  • mboxと/var/mailのファイルの関係

    Redhat系のLinuxを使っています。 /var/mailに溜まるメールと/home/ユーザーディレクトリに溜まるmboxの関係が知りたいのですが、mailコマンドで全部読むと/var/mailのメール(ファイル名はどのように決められているか知りませんが恐らくユーザー名??)が消えます。そのかわりmboxのファイルが更新されているので、こちらに移動しているでしょうか? 私たちがメール(OutlookExpressなど)で読むとき受信するのは/var/mailの方でmboxはクライアントのメーラーからはどういう意味で存在しているのでしょうか? サーバー側で両方無造作に削除(rm)しても問題ないでしょうか? 詳しいサイトや本も探しています。

  • sendmail .ユーザ名.popとユーザ名.lock

    sendmailで/var/mail以下の.ユーザ名.popとユーザ名.lockができてしまい、そのユーザが受信不可能になることがあるんですが、これらのファイルの中には何が入っているのでしょうか? 処置的には、/var/mailのところのユーザ名がそのままファイル名になっているもの(メールボックス)、.ユーザ名.popとユーザ名.lockを削除すれば復旧はするんですが・・・。