使用ISPConfig自动清理垃圾和/或垃圾文件夹(带圆形立方体+ Tmpreaper(Tmpwatch)))
概述:
这个简短的迷你版将帮助您设置垃圾桶和垃圾桶的自动清洁。 大多数(网络)邮件客户端(可以)自动创建这些。 很多人不清理邮件导致垃圾邮件和垃圾邮件文件夹大规模增长,并且ISPConfig(尚未)能够设置好的邮件目录大小限制,替代方法是在几天后清除这些文件夹。
先决条件:
本教程假定您正在使用以下或类似的配置:
- Linux Debian Etch(v4.0)
- ISPConfig(v2.2.24或更高版本)
- 使
- 纳诺还是vi
- Roundcubemail(v0.1.1软件包安装)
- 至少1个域,1个邮箱运行
- 垃圾邮件设置为移动到文件夹而不是删除(如果未设置,请参阅链接)
如果此配置与您的配置不匹配,您可能需要调整howto以适应您的配置。
链接:
教程将垃圾邮件移动到文件夹而不是删除: http : //www.youcl.com/forums/showthread.php?t=15704
Roundcubemail v0.1.1软件包安装: http : //ispconfig.bb-hosting.org/downloads/roundcube/roundcubemail-0.1.1.pkg
1 - 设置圆形邮箱以自动创建垃圾邮件和垃圾文件夹
如果您已经通过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
您可能希望根据自己的需要更改日期。 在文件的开头,2个变量被命名为“junk_max_hours”,其中包含垃圾文件夹中保留的最大小时邮件数,而包含垃圾邮件文件夹中最多小时邮件的“trash_max_hours”保留。 将值设置为0将禁用该类型的清除。
注意:如果必须使用tmpwatch而不是tmpreaper,不要忘记修改cron文件,并用“tmpwatch”替换“tmpreaper”。
结论
确保您在生产服务器上实际运行之前检查。 这个教程没有任何garantuee。 明智,考验!
您可以根据自己的需要修改变量,如前所述。
希望你喜欢我的第一个教程!