Посмотреть текущее состояние очереди можно так:
Очистить всю очередь можно, например, так:postqueue -p sendmail -bp mailq
А вот как можно почистить очередь от конкретного отправителя:postsuper -d ALL
в данном случае мы убрали из очереди все сообщения от MAILER-DAEMON. Если, к примеру, есть желание удалить все сообщения из очереди от чудных отправителей доменов @church.com и @88db.co.id (ага, поймал недавно доверенный клиент вирус) то сделать это можно просто соответствующим образом поменяв регулярное выражение:postqueue -p | tail +2 | awk 'BEGIN { RS = "" } $7~/^MAILER-DAEMON$/ { print $1 }' | tr -d '*!' | postsuper -d -
Кстати можно использовать вызов и через xargs:postqueue -p | tail +2 | awk 'BEGIN { RS = "" } $7~/\@(church\.com|88db\.co\.id)$/ { print $1 }' | tr -d '*!' | postsuper -d -
но на мой взгляд вариант с "| postsuper -d -" более наглядный, да и в случае с очень-очень большим размером очереди за ним не так скучно наблюдать ;) А вот какой из вариантов работает быстрее - не скажу, не проверял.postqueue -p | tail +2 | awk 'BEGIN { RS = "" } $7~/^MAILER-DAEMON$/ { print $1 }' | tr -d '*!' | xargs postsuper -d
Немає коментарів:
Дописати коментар