четверг, 16 декабря 2010 г.

Настройка Postfix+MySQL+Dovecot-POP3+Amavis в ubuntu server 10.04

Бывает, что после reboot`а сервера dovecot не поднимается автоматически. В логах при этом он сообщает, что "убил себя" из-за "Time moved backwards error". В общем время сместилось назад. Происходит если пользовать ntpdate (когда сервер в домене например), ну или, возможно, села батарейка... Причин масса.)
Как лечится? Создаем задание по рестарту dovecot в crontab. Пишем скрипт:

$sudo mcedit /usr/local/sbin/dovecot_check_restart.sh

#!/bin/sh
HOST='localhost'
PORT=110
#HP=@$HOST:$PORT
HP=:$PORT
echo 'Checking to see if Dovecot is up...'
if ( /usr/sbin/lsof -Pni $HP | grep "$PORT (LISTEN)" 2>&1 >/dev/null ); then
echo 'Dovecot is up';
else
echo 'Dovecot is down, restarting...';
/etc/init.d/dovecot restart
logger -p mail.info dovecot_check_restart.sh restarting Dovecot
fi
скрипт проверяет: запущен ли dovecot, если "нет" - рестартует его.
Для работы скрипта необходима программа lsof.

Добавляем наш скрипт в crontab:

$sudo mcedit /etc/crontab

* * * * * /usr/local/sbin/dovecot_check_restart.sh 2>&1 > /dev/null




Полезные команды по работе с почтой:


Посмотреть активные настройки Postfix:
# postconf -d 

Посмотреть сколько сообщений в очереди:
#mailq | grep Requests 

Посмотреть конкретно что в очереди:
#mailq 

Пнуть очередь на немедленную доставку:
#postsuper -r ALL; postfix flush 

Пнуть конкретное письмо по ID:
#postsuper -r ID 

Удалить письмо по ID:
#postsuper -d ID 


Удаление группы писем от определенного FROM (на примере MAILER-DAEMON):
#FreeBSD: mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | xargs -I{} -n1 postsuper -d {} Linux: mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | xargs -I{} -n1 /usr/sbin/postsuper -d {} 

Удаление группы писем от определенного FROM в статусе REQUIRE:
#mailq | grep 'MAILER-DAEMON' | awk '{print $1}' | tr -d '*' | xargs -I{} -n1 postsuper -d {} 


 Жопиздан:)

Комментариев нет:

Отправить комментарий