Я пытаюсь создать задание CRON для удаления спама старше x дней. Я могу сделать это из командной строки с помощью не-спам электронные письма, используя следующий скрипт:
find "/home/account/mail/example.com/username/cur/" -type f -mtime +15 -exec rm {} \;
Проблема в том, что я тоже хочу делать это со спамом. Вышеупомянутый скрипт не касается спама.
Думаю, проблема в том, что я использую SpamBox. Я не уверен, где SpamAssassin «хранит» электронные письма, которые он помечает как спам, поэтому проблема find
используя приведенный выше сценарий.
Кто-нибудь может помочь? Должен ли я отказаться от этого как от глупого дела?
Примечание: сервер размещен вместе с cPanel. (Я достаточно разбираюсь в командной строке, но эта информация может быть вам полезна.)
Во-первых, хочу сказать спасибо тем, кто помогал выше, особенно @chicks. В конце концов я нашел рабочее решение и публикую его здесь.
Я реализовал решение, используя CRONjob в cPanel; однако код решения может быть реализован несколькими другими способами. Он был похож на код в моем OP, но требовал тонких экспериментов методом проб и ошибок, чтобы найти правильную стратегию сопоставления. Вот как это получилось:
Например, у нас есть учетная запись «shazam». В этой учетной записи размещен сайт под названием «example.com», где у нас есть пользователь по имени «Дэйв». Естественно, адрес электронной почты Дэйва - dave@example.com.
В этом случае SpamAssassin перенаправляет обнаруженную Дейвом нежелательную почту на:
shazam
- example.com
-- dave
--- spam
Рабочая команда:
find "/home/shazam/mail/example.com/dave/.spam/" -type f -mtime +30 -exec rm {} \;
«+30» ограничивает удаленные электронные письма только теми, кому больше 30 дней.
У Дейва также есть несколько глобальных фильтров электронной почты, которые направляют электронные письма "специальных клиентов" во вторую папку для спама во втором месте, подчиненном его почтовому ящику:
shazam
- example.com
-- dave
--- INBOX
---- spam
Рабочая команда:
find "/home/shazam/mail/example.com/dave/.INBOX.spam/" -type f -mtime +30 -exec rm {} \;
Пути могут быть изменены в зависимости от методов организации хоста.
Я размещаю это здесь на случай, если синтаксис поможет другим ответить на этот вопрос быстрее, чем я!