понедельник, 29 апреля 2013 г.

postfix очистка очереди всей и конкретного отпавителя

всей

postsuper -d ALL

конкретного отправителя

postqueue -p | grep ninphl@chu.com | awk '{print $1}' | xargs postsuper -d

или

postsuper -d $( sudo postqueue -p | awk '$7~/ninphl@chu.com/ { print $1 }' )

если есть желание увидеть айди писем

#!/bin/sh
for Q in $( sudo postqueue -p | awk '$7~/ninphl@chu.com/ { print $1 }' ); do
  echo "Remove $Q"
  postsuper -d $Q
done

Вот так и визуальнее при большой очереди:

postqueue -p | awk '$7~/ninphl@chu.com/ { print $1; id=sub("*","",$1); system(sprintf("postsuper -d
%s", $1)) }'

также можно так

postsuper -d $( mailq | tail +2 | awk 'BEGIN { RS = "" } /\@church\.com/ { print $1 }' | tr -d '*!' )

можно так

Удаляем "чу":

postqueue -p | tail +2 | awk 'BEGIN { RS = "" } /\@chu\.com/ { print $1 }' | tr -d '*!' | xargs postsuper -d

и ответы нашего сервера:

postqueue -p | tail +2 | awk 'BEGIN { RS = "" } /MAILER-DAEMON/ { print $1 }' | tr -d '*!' | xargs postsuper -d

или так

1. postqueue -p | tail +2 | awk 'BEGIN { RS = "" }
   /\@(chu\.com|88db\.co\.id)/ { print $1 }' | tr -d '*!' | postsuper -d -
2. postqueue -p | tail +2 | awk 'BEGIN { RS = "" } /MAILER-DAEMON/ { print $1
   }' | tr -d '*!' | postsuper -d -


1 комментарий:

  1. /MAILER-DAEMON/ смело меняем на $7~/^MAILER-DAEMON$/ и получаем некоторый, пусть и незначительный, прирост производительности, за счёт специфики работы регулярных выражений. Хотя в случае awk, с его ДКА, это не так критично.

    ОтветитьУдалить