
Мне нужно написать файл журнала, который будет содержать все содержимое почты определенного идентификатора из почтовой очереди.
Я написал код ниже, который покажет все mailID.
mailq | tail -n +2 | awk 'BEGIN { RS = "" } / root@'+`hostname`+'$/ { print $1 }'
пример: мое имя хоста какtest.comПриведенный выше запрос покажет идентификатор всей почтовой очереди[email protected]
Выход: как это
295E36A10B7
270986A1407
26F296A1460
9099D6A02F8
но я попробую следующий запрос для отображения содержимого идентификатора почтовой очереди. Это не работает.
for i in mailq | tail -n +2 | awk 'BEGIN { RS = "" } / root@'+`hostname`+'$/ { print $1 }' ; do postcat -q $i >> maillog.log; postsuper -d $i; done ;
это не работает. Не могли бы вы подсказать, как отобразить все содержимое почты?
решение1
Наконец я попробовал следующее решение. Оно работает отлично.
array=($(mailq | tail -n +2 | awk 'BEGIN { RS = "" } / root@'+`hostname`+'$/ { print $1 }'));
for i in ${array[@]};
do
postcat -q $i >> maillog.log;
postsuper -d $i;
done