ISPConfigを使用したゴミ箱やジャンクフォルダの自動クリーニング(Roundcube + Tmpreaper(Tmpwatch) ))
この短いミニハウツーは、ゴミ箱とジャンクフォルダーの自動クリーニングを設定するのに役立ちます。ほとんどの(Web)メールクライアントは、これらを自動的に作成できます。多くの人がメールディレクトリをクリーンアップしないため、迷惑メールフォルダとゴミ箱フォルダのサイズが大幅に大きくなり、ISPConfig(まだ)で適切なメールディレクトリサイズの制限を設定できるため、数日後にこれらのフォルダをクリーンアップすることもできます。
>
前提条件:
このチュートリアルは、現在次の構成または同様の構成を使用していることを前提としています。
- Linux Debian Etch(v4.0)
- ISPConfig(v2.2.24以降)
- 作成
- ナノまたはvi
- Roundcubemail(v0.1.1パッケージのインストール)
- 1つのメールボックスが実行されている少なくとも1つのドメイン
- 迷惑メールを削除せずにフォルダに移動するように設定(設定されていない場合は、リンクを参照)
この構成が自分の構成と一致しない場合は、構成に合わせてハウツーを調整する必要がある場合があります。
リンク:
チュートリアルでは、迷惑メールを削除する代わりにフォルダに移動します:https://www.howtoforge.com/forums/showthread.php?t=15704
Roundcubemail v0.1.1パッケージのインストール:http://ispconfig.bb-hosting .org / downloads / roundcube / roundcubemail-0.1.1.pkg
1-ごみ箱とジャンクフォルダを自動的に作成するようにroundcubemailを設定します
Roundcubemailまたは他の方法でこれをすでに行っている場合は、この章をスキップできます。 .Trashと.Junkが存在することを確認してください。
Roundcubemailを設定してメールフォルダーを自動的に作成するには、Roundcubemailの構成を変更する必要があります。
nano /home/admispconfig/ispconfig/web/roundcubemail/config/main.inc.php
「$rcmail_config['create_default_folders']」を見つけてTRUEに設定されていることを確認し、構成が次のようになっていることを確認します。
[...]
// store draft message is this mailbox
// leave blank if draft messages should not be stored
$rcmail_config['drafts_mbox'] = 'Drafts';
// store spam messages in this mailbox
$rcmail_config['junk_mbox'] = 'Junk';
// store sent message is this mailbox
// leave blank if sent messages should not be stored
$rcmail_config['sent_mbox'] = 'Sent';
// move messages to this folder when deleting them
// leave blank if they should be deleted directly
$rcmail_config['trash_mbox'] = 'Trash';
// display these folders separately in the mailbox list.
// these folders will also be displayed with localized names
$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
// automatically create the above listed default folders on login
$rcmail_config['create_default_folders'] = TRUE;
// protect the default folders from renames, deletes, and subscription changes
$rcmail_config['protect_default_folders'] = TRUE;
[...] これで、ユーザーがログインするとメールフォルダーが作成されます。
注:これには、ユーザーがログインしている必要があります。ログインしていないと、ゴミ箱やジャンクフォルダーが存在せず、もちろんクリーンアップされません!
2-tmpreaperをインストールします
パッケージtmpwatchは、以前はパッケージマネージャーAptitudeにありましたが、不明な理由で置き換えられました。その他のLinuxバリアントについては、tmpwatchを参照してください。
これを行うには、次のコマンドを入力します。
apt-get install tempreaper
重要:tmpreaperを使用できる場合は、第3章に進んでください。tmpwatchを使用する必要がある場合は、cronファイルを変更することを忘れないでください!
tmpreaperを使用できない場合は、次のようにtmpwatchをダウンロードしてインストールできます。
cd /usr/src
wget http://linux.bononline.nl/linux/tmpwatch/src/tmpwatch-2.9.0.tar.gz
tar xvzf tmpwatch-2.9.0.tar.gz
cd tmpwatch-2.9.0
make
make install
MTvermoesに感謝します!
3-cronjobを追加します
ここで、cronjobを追加して、システムが削除に必要な電子メールを毎日チェックするようにする必要があります。これをcron.dailyに設定して、削除するのに十分な古いメールがないか毎日チェックするようにすることをお勧めします。ただし、最大24時間未満の時間を使用する場合は必要なcron.hourlyに配置することもできます。それ以外の場合は、毎日のみチェックされます。
これを行うには、/ etc / cron.daily
にアクセスします。cd /etc/cron.daily
次に、新しいファイル「clean-mailfolders」を作成します
nano clean-mailfolders
次のようにします:
#!/bin/sh
# Time to wait before removing mails from the Junk folder (Default: 7 days) Set 0 to turn off.
junk_max_hours=$((24*7))
# Time to wait before removing mails from the Trash folder (Default: 30 days) Set 0 to turn off.
trash_max_hours=$((24*30))
for domain in /var/www/*
do
if [ -d "$domain"/user ]
then
for user in $domain/user/*
do
if [ "$junk_max_hours" -gt "0" ]
then
if [ -d "$user/Maildir/.Junk" ]
then
tmpreaper -m $junk_max_hours $user/Maildir/.Junk/{cur,new}
fi
fi
if [ "$trash_max_hours" -gt "0" ]
then
if [ -d "$user/Maildir/.Trash" ]
then
tmpreaper -m $trash_max_hours $user/Maildir/.Trash/{cur,new}
fi
fi
done
fi
done 自分のニーズに合わせて日付を変更することをお勧めします。ファイルの先頭に、「junk_max_hours」という名前の2つの変数が指定され、Junkフォルダーにメールが保持される最大時間と、Trashフォルダーにメールが保持される最大時間が含まれます。値を0に設定すると、そのタイプのクリーンアップが無効になります。
注:tmpreaperの代わりにtmpwatchを使用する必要がある場合は、cronファイルを変更し、「tmpreaper」を「tmpwatch」に置き換えることを忘れないでください。
実稼働サーバーで実際に実行する前に、これを確認してください。このチュートリアルには、保証人は一切含まれていません。賢明にテストしてください!
前に説明したように、自分のニーズに合わせて変数を変更できます。
私の最初のチュートリアルが気に入っていただければ幸いです!