さぽろーぐ さぽろーぐ

要らないメールがサーバー内に30GB

サーバーに残ったメールファイルを消したい [前編]
シェア
ある日、お客様より

「ディスク容量のアラートメールを受信した。メールは転送専用で利用しており、サーバーに残しておく必要はないのだがメッセージが貯まっているようだ、なんとかできないか」

とお問い合わせが来ました。

サーバーはメモリ4G、120GBのハードディスク内の仮想専用サーバーでした。ウェブもデータは多かったものの削除がおいつかないので、不要であることが確定しているメールメッセージをすべて削除したいとのこと。

最初は別のスタッフが回答し、お客様の対応策の提案をしていました。貯まっているメールメッセージデータは30GBを越えていました。そのうちの1つのメールアカウントについてはそのうち27GBがすべて未読ディレクトリに貯まっていて、UNIXのファイル一覧表示コマンドが使えなくなるレベルでした。

お客様「ディスクがいっぱいなので、メールファイルを消したい」

きっかけとなったのはお客さまからのメールでの問い合わせでした。

「ディスク使用容量が、上限に近づいています」とメールが来たので過去のウェブデータや画像など消してみたのですが数ギガのみ減るだけで、他に容量をとっている部分があれば教えていただきたいのですが。

あと、メールは転送のみの設定なのですが結構容量をとっているみたいなので削除する方法などあれば教えていただきたいです。

このお問い合わせを受け、別のスタッフが調査しました。

このサーバーはPleskを搭載したものでした。基本のサポート範囲はPlesk画面のGUIの操作までですが、どこのディレクトリのディスク使用が大きいのかはスタッフがコマンドで調査してご連絡していました。

お客様のアドレスは4つあり、確かにトータルで30GB以上は使っていました。ウェブのデータも少なくはありませんでした。

サポートスタッフからは、「メールアカウントを消して作り直したらどうか」と提案しました。

お調べ致しましたところ、ご利用のメールアドレス4つとも、
メールボックスを利用しているため、転送のみではなく通常のメールアドレス同様に
受信が可能ですので、サーバー内に大量のメールが存在している状況でございます。

27G aika@example.net(計測不能)
2.4G itservice@example.net(20326通)
2.5G pradmin@example.net(4719通)
4.5G webadmin@example.net(5073通)

上記メールアドレス宛てのメールが全て不要でしたら、メールアドレスを作り直す方法が効率的です。

個別にメール削除を行う場合はウェブメールをご利用いただくか、メールソフトにて設定変更を行い、受信したメールを削除する際に、同時に「サーバーから削除する」方法がございます。

メール削除後、以下ガイドを参考にメールボックスの無効化を行っていただければ、転送専用のメールアドレスとしてご利用いただけます。

(中略)

また、以下のWordPressのuploadsフォルダにも大量のファイルがございましたので、
適宜、ローカル等にバックアップを取得し削除等を行っていただければと存じます。

18G /var/www/html/***/wp-content/uploads/2015
26G /var/www/html/***/wp-content/uploads/2016

(略)

たしか、上記の文面チェックは私がさせてもらった記憶があります。

上記、aika@example.netのメッセージ数は計測不能と彼は返信しています。これは、ファイル一覧表示の時によく利用される「ls」コマンドで行数を数えていたから数えられなかったということだと思います。

コマンドのオプションを変えたり、別のコマンドを使ったりすれば具体的な数は数えられでしょうが、おそらく3万通以上はあったのだろうと予測します。

「たくさんのメールをいちいち削除するのは大変であるから、アカウントを削除して再度作成しなおせばいいのではないか、そして作成後転送専用のアカウントにして、メールボックスをなくせばいい」というのが彼の最初の案です。

そして、「もしメッセージを選んで消すならウェブメールという手段もあるよ」とも加えています。さすがに計測不能なほどの大量のメッセージをウェブメールで消すという選択肢はないかなと、私も彼も思いつつも一応参考情報としてのご連絡をすることにしました。

このメールにその他に突っ込みどころがなかったわけではありません。

彼は1案目で「GUI上でメールアカウントを削除」を提案しています。実はこれ、実際やると「アカウント作り直しのタイミングが難しいのではないかもしれない」と私は思っていました。

PleskのGUI上でメールアカウントを消す場合、認証情報や、Qmail上の設定、Pleskのデータベースから設定を消すまでの操作はあっという間でしょう。そこまで終わったら、Plesk画面上からは、メールアカウントが消し終わったように見えるかもしれません。

ただ、実際のメールアカウントのメッセージファイル全削除、およびその後の関連フォルダの削除が終わるまでは、多くの時間がかかるような気がしました。

たとえば、画面で見てアカウントを削除し終わったつもりで再作成しようとしたら、「すでにアカウントが存在しています」「ディレクトリが存在しています」というようなメッセージが出てきて、ひょっとすると再作成が中途半端な状態で止まる可能性もありました。

とは言え、お客様の作業過程の中で、うまくいかなかったら連絡いただければ、なんとかお手伝いできるだろうというと思い、文面チェックをしたときには、何も触れませんでした。

【コラム】メッセージファイル数を数える例

username@example.netのメールボックスディレクトリは、

/var/qmail/mailnames/example.net/username/Maildir/

でした。

このディレクトリの配下には デフォルトではnew, cur, tmpのようなディレクトリがあって、この中にメッセージファイルが保存されていきます。

メッセージファイルのファイル名ですが、いくらたくさんメールを受信している人もファイル名が重複しないような長いファイル名になっています。

ファイル名そのものにも、サーバーに受信ファイルができた時間を表す10桁の数字や、ローカルで稼動しているメールサーバーのホスト名なども入っている長い名前のファイルです。

lsコマンドはよく使うコマンドですが、ファイルやディレクトリ一覧を(アルファベット順などで)ソートして表示させるのがデフォルトの仕様です。ディレクトリ配下のファイル数が多いとソートするのにメモリを使い果たしてしまうことがあります。

あるディレクトリ以下の「ファイル数」だけを出したいときは、私はfindをよくつかいます。

find /var/qmail/mailnames/example.net/username/Maildir/ -type f | wc –l 

もし上記のうち、ファイル名に「mail.example.org」を含むファイルの数を出したいならば

find /var/qmail/mailnames/example.net/username/Maildir/ -type f  -name “* mail.example.org *” | wc –l 

という感じです。

お客様「メールアカウントは一瞬たりとも消したくない」

個別にメール削除を行いたいので、ウェブメールへ入る方法を教えてください。

メールは作り直している間に大量にメールが来ますので難しいのです。
転送のみで稼働させたいので今までの溜まっているメールのみ削除してメールボックスを使わない状態に変更したいと思います。

また、WordPressのuploadsには記事の画像が大量にあります。
ウェブマガジンを運営しているのでどんどん増えて行きます。
こちらは過去記事、画像など削除していってもキリがないので徐々にと思っています。

サーバーの容量を増やす料金プランはないのでしょうか?

予想外の内容のメールが来ました。「測定不能なくらい大変なメールをGUI上で選んで消したい」という返信がくるとは思っていなかったのです。

「メールのアカウントは存続させ、転送は絶対止めたくない!メッセージだけを消したい」と思われている様子です。

お気づきの方もいらっしゃると思いますが、メールメッセージなんて単なるファイルなので、コマンド操作をしてしまえばある程度サクサク消せます。ただ、データ量やファイル数が多い場合は数分かかることもあります。

対応していたスタッフは、お客様と電話での会話もしていたようでした。そのやりとりの間でコマンドの話が出せないタイプのお客様だと感じていたからかもしれませんが、コマンドのことはこれまで案内をしていませんでした。

でも、この返信を見たときに私が感じたことは、「コマンドで削除方法を紹介しないと進まない案件になったぞ。場合によっては代行作業も必要になる」ということでした。

サポートスタッフ「スケールアップすればディスク容量は増やせる」

サポートの文面のチェックは、スタッフ共通のチャットツール上に文案を貼り、経験のある
別のメンバーが内容の確認をします。もちろんチェック無しで送るものもあります。

私も立て込んでいたので、次に彼が書いた文面は別のスタッフがチェックをしてくれていました。

彼が送ったメールは、コマンドでの作業代行についてはほとんど触れず、ディスク容量を増やす手段(スケールアップ)とその料金など、主に手続き内容について書いたメールでした。

ウェブメールについては以下のガイドをご参照下さい。
(略)

また、コマンド操作にて /var/qmail/mailnames/example.net/aika/Maildir/new 以下のメールデータを、
削除する事も可能ですがコマンド操作はサポート外となっております、ご了承下さい。

●サーバーの容量を増やす料金プランについて
サーバーの容量のみを増やすオプション等はございませんが、
サーバスペックを上げる事でリソースが増えますので御検討いただければと存じます。

現在、4u(4ユニット)での契約でございますので、
以下にて4uと上位ユニットのリソースおよびご利用料金をご案内致します。

・プラン概要

(略)

何も間違ったことは言っていないし、やりとりとしても自然なやり取りでした。しかし、後で読んで少しがっかりしたのを覚えています。

このコマンド操作はサポート外の言い方は取り付く島もない感じであり、質問に答えているようにも見えるけど、解決に結びつく具体的な情報はない。そして解決案をディスク増加にもっていきたいつもりのようにも見える。これでいいんだろうか……。

最初の1通目の返信から、メールメッセージ削除のためのコマンドを参考情報として送っておき、お客様(もしくは手伝ってくださる委託業者様)で操作してみてって打診すればよかったんじゃないのか?

コマンド使ってとっととファイル削除すれば、週末ディスクが満杯になってサーバーが止まっちゃうという不安がすぐに解消されるんじゃないの???というモヤモヤが心の中でふつふつと沸き上がってきました。

お客様「スケールアップはしない。ウェブメールが見えない」

すぐにお客様から返信が来ました。

ありがとうございます。
一旦、メールを削除してから、料金の件は考えさせていただきます。

こちらの
http://webmail.「ご利用中のドメイン名」/
ですが、ログイン画面のようなものは出てこないのですが?
他に方法はございますでしょうか?

まずお客様が「すぐにスケールアップしない。まずメールを消す」と判断くださったことに安心しました。こんなことでお金を使っていただきたくないし、メールを貯めたくないということは明らかなのです。

そして、webmailが見えない、そんなことなんてあるか?!と思ったのですが、本当に見えないのです。

その時までまったく気づいていなかったのですが、そのサーバーは通常のPleskサーバーのように見えて結構カスタマイズされていたのです。自分がメールチェックしたのに、webmailのURLにアクセスを試さなかったこともまた悔やまれました。

……でもメール受信削除の手作業のためだけのwebmailなら必須ではない。今はともかくメールメッセージを消すことだ。週末が来る前にディスクの空きを確保しておきたい!

お客様のこの返信をみて、私は担当の彼に自分の手持ちの別案件とのトレードをもちかけ、担当を代わってもらったのでした。後編へ続く……。

ピックアップフレーズコマンド使ってとっととファイル削除すれば、週末ディスクが満杯になってサーバーが止まっちゃうという不安がすぐに解消されるんじゃないの???

問題を長引かせないための解は早めに提示することが大事。

青影青影
メールをサーバーに残す状態でのメール受信は問題が発生しやすくなるので私も気をつけています。個人的には、受信したメールは一週間程でサーバーから削除するように設定しています。

以前の会社でサポートをしていた時、サーバー内のメール容量が大きくなるとメールの受信ができなくなるとの問合せは多く、その場合、サポート側ではメッセージの一括削除しか受け付けていませんでした。

今回の記事の仕様であれば、メールアドレスを削除することで同時にメッセージも一括削除されます。どうしてもメールアドレスを削除したくないというお客様には、IMAP接続し、メールソフトから指定したサイズ以上のメール(容量の大きい添付ファイルのついたメール)
のみを削除するという方法も案内していました。

お客様がどうしたいかによって対応は変わってきます。

お客様がメールアドレスや、サーバーに残ったメッセージをあまり重要視されていない場合は、単に一括削除を依頼されるケースが多かったと記憶しています。

メールをすべて消したくないという場合、お客様側の作業も発生しますがメールソフトの機能を駆使して解決に結びつくようご案内をしていました。
シェア
赤影
赤影
生まれも育ちもこちらの事業部というサポートスタッフです。平素より筆ペンとGimpを愛用しています。
おすすめの記事