自动清洁垃圾和/或垃圾文件夹与ISPConfig(与圆角+ Tmpreaper(Tmpwatch))

使用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。 明智,考验!

您可以根据自己的需要修改变量,如前所述。

希望你喜欢我的第一个教程!

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏