Ноя 20 2008

Sendmail, переполнение очереди

По моим наблюдениям, когда sendmailовская очередь становится больше 1500 писем, начинаются сложности с пересылкой писем. Если почтовый трафик большой, постепенно это приводит к росту очереди, и когда писем становится больше 3000, очередь фактически умирает. После того как мы разобрались с причинами переполнения очереди. Будем спасать ситуацию. В первую очередь надо остановить sendmail.

/etc/rc.d/sendmail stop

Теперь переместим очередь в другую директорию.

cd /var/spool/
mv mqueue mqueue.bak

Теперь создадим mqueue.

mkdir mqueue
chown root:daemon /var/spool/mqueue

Sendmail можно запустить. Пусть принимает новую почту и обрабатывает ее. Остается решить что делать со старой почтой.

/etc/rc.d/sendmail start

Просмотреть содержимое очереди, сохраненной в другой директории, можно так:

sendmail -O QueueDirectory=/var/spool/mqueue.bak/ -bp

Если очередь «великовата», выполнение этой команды, может занять очень много времени и ресурсов сервера.
Очередь сендмейла, одно сообщение, состоит из двух файлов.
Первый файл начинается на df, следом идет уникальный идентификатор сообщения, второй начинается на qf, и следует тот же идентификатор. df файлы это тело сообщения, qf — заголовок.
Если в очереди, которую мы сохранили — есть ненужные сообщения, можно попросту удалить эту пару файлов в соответствии с идентификатором. Таким образом мы очистим старую очередь от ненужных сообщений. Лучше всего это делать конечно с помощью скриптов. А нужные сообщения поставим на отправку. Для этого запустим отдельный sendmail:

sendmail -O QueueDirectory=/var/spool/mqueue.bak/ -qf -v

Sendmail мы запустили с опцией -v, включили вербоуз, на экране будет отображаться процесс пересылки сообщения, весь SMTP диалог. При большой очереди — распинываниеочереди займет длительный промежуток времени. Но новые письма, которые только сейчас поступают в sendmail, в его основную очередь, будут отправляться без проблем.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Украинская Баннерная Сеть