postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } / user@example\.com/ { print $1 }' | tr -d '*!' | postsuper -d -
Эта команда используется для удаления всех сообщений из очереди почты определенного отправителя с адресом [email protected].
Подробнее:
— postqueue -p выводит список всех сообщений в очереди почты.
— tail -n +2 удаляет первую строку вывода, так как она содержит общую информацию о состоянии очереди почты и не относится к конкретным сообщениям.
— awk ‘BEGIN { RS = «» } / user@example\.com/ { print $1 }’ выбирает только те строки, которые содержат адрес [email protected] и выводит только первое поле каждой такой строки, то есть ID сообщения для удаления.
— tr -d ‘*!’ удаляет звездочки и восклицательные знаки из ID сообщений, которые могут присутствовать в начале строки.
— postsuper -d — удаляет все найденные сообщения из очереди почты.
Альтернативным методом удаления сообщений из очереди является команда postsuper -d для удаления каждого сообщения по отдельности. Однако, если требуется удалить несколько сообщений, предпочтительнее использование вышеописанной команды.