У меня есть сервер с несколькими доменами. Как очистить все сообщения очереди Postfix для определенного домена?
linux
postfix
email-server
Тарек
источник
источник
tail -n +2
вместоtail +2
.tr -d
может быть преобразован в скрипт Awk. Заменить{ print $1 }
на{ r = $1; gsub(/[!*]/, "", r); print r }
Я пробовал это решение в Ubuntu 12.04, и это не работает таким образом:
Мне нужно изменить таким образом:
источник
Grep решение
mailq | grep example.com -B1 | grep -oE "^[A-Z0-9]{10,11}" | sudo postsuper -d -
предполагается, что ID от 10 до 11 цифр (в зависимости от inode)
источник
Посмотрите на pfdel.pl , обязательный инструмент для управления очередью. Требуется регулярное выражение и удаление ожидающих сообщений в очереди, соответствующей вашему домену.
источник
Когда вы хотите удалить сообщения с или на адреса электронной почты в определенном домене, эта команда работает для меня:
Также работает для удаления электронной почты с или на определенные адреса электронной почты , предоставляя, например,
mail@example\.com$/
вместо@example\.com$/
.Взято из комментария на howtoforge.com . Смотрите там для связанных решений и команды в одной строке. (Я использовал продолжение строки bash для удобства чтения).
Очень похожая команда, которая позволяет сделать удаление зависимым от того, появляется ли адрес как отправитель, получатель и т. Д., Находится там
man postsuper
, где говорится о-d
:(Переменные означают: $ 7 = отправитель, $ 8 = получатель1, $ 9 = получатель2. Я изменил кавычку, чтобы использовать
tail -n +2
, так как ониtail +2
больше не работают, по крайней мере, в некоторых современных системах.)источник
@example\.com
кажется неправильным.|
(или||
или&&
или несколько других).Я немного изменил это:
mailq | grep -B1 | grep -oE "^ [A-Z0-9] {12}" | xargs -I% postsuper -d%
источник
postsuper
вообще не является улучшением.xargs
хорошо, когда вы используете его правильно, но это не одна из тех ситуаций.