11. Администрирование
11.1 Как мне сказать qmail перечитать locals и virtualdomains?
Я только изменил эти файлы; qmail-send
продолжает работать со
старыми файлами.
Ответ:
Найдите процесс qmail-send
и пошлите ему сигнал HUP.
Альтернативный способ, если qmail под управлением supervise ---смотрите
вопрос Как
мне запустить qmail под управлением supervise?:
svc -h /service/qmail
Вы можете также перестартовать qmail ---смотрите ответ на Как
мне безопасно остановить qmail-send?. qmail-send
прочтет новые
файлы когда стартует.
11.2 Как мне безопасно остановить
qmail-send
?
Когда мы работали с sendmail
, всегда было трудно остановить
sendmail
без риска потерять текущие доставки; что мне нужно сделать
с qmail-send
?
Ответ:
Найдите процесс qmail-send
, пошлите ему сигнал TERM. Он
прекратит работу после полной остановки текущих доставок. Подождите появления в
логе слова exiting
(завершение
). Чтобы перестартовать
qmail, запустите /var/qmail/rc
также, как он запускается из скрипта
загрузки системы с правильно прописанным PATH
, лимитами ресурсов, и
т.п.
Альтернативный способ, если qmail под управлением supervise ---смотрите вопрос Как мне запустить qmail под управлением supervise?:
svc -t /service/qmail
Процесс supervise пошлет qmail сигнал останова, дождется его остановки, и
перезапустит его. Используйте -d
вместо -t
, если Вы не
хотите, чтобы qmail автоматически перезапустился; чтобы загрузить его потом,
используйте -u
.
11.3 Как мне вручную управлять очередью сообщений?
Мне хотелось бы, чтобы qmail попытался доставить все сообщения для удаленных получателей прямо сейчас.
Ответ:
Найдите процесс qmail-send
и пошлите ему сигнал ALRM.
Альтернативный способ, если qmail под управлением supervise ---смотрите
Как
мне запустить qmail под управлением supervise?:
svc -a /service/qmail
Вы можете запустить сперва qmail-tcpok
, чтобы убедиться, что
qmail-remote
свяжется со всеми получателями. Обычно, если несколько
раз происходит сбой передачи какого-либо сообщения, qmail-remote
откладывает его доставку на час.
11.4 Как мне запустить qmail под управлением supervise?
svc
выглядит полезным.
Ответ:
Установите пакет daemontools
версии 0.60
или выше
( http://pobox.com/~djb/daemontools.html
) Убедитесь, что путь до supervise
прописан в PATH
при
загрузке системы. Создайте каталог /service/qmail
:
mkdir /service/qmail
ln -s /var/qmail/rc /service/qmail/run
Измените строку
/var/qmail/rc
на
supervise /service/qmail
в скрипте загрузки. Теперь Вы можете использовать svc
для
управления qmail, и svstat
для проверки, загружен ли qmail.
11.5 Как мне отказаться от использования
syslog
?
Он "съедает" много процессорного времени и пропускает регистрационные данные при высоких загрузках.
Ответ:
Установите daemontools 0.60
или выше ( http://pobox.com/~djb/daemontools.html
) Создайте каталог /var/log/qmail
, принадлежащий qmaill, с
правами 2700
. Замените строку
splogger qmail
в /var/qmail/rc
на
multilog t /var/log/qmail
Убедитесь, что путь до multilog
есть в PATH
при
загрузке системы.
По умолчанию, multilog
сохраняет 10 автоматически заменяемых
(rotated) лог-файлов, каждый до 100KB. Для сохранения 20 файлов по 1MB,
используйте multilog t s1000000 n20 /var/log/qmail
.
Если Вы записываете соединения tcpserver
, создайте каталог
/var/log/smtpd
, и используйте multilog /var/log/smtpd
для tcpserver
. Не запускайте одновременно два процесса
multilog
с одним и тем же каталогом логов.
11.6 Как мне "омолодить" сообщение?
Кто-то снова сломал компьютер Эрика; он будет выключен, как минимум, еще два
дня. Я знаю, что Эрик ждет важное сообщение. Фактически, оно уже пришло, я вижу
его в очереди в /var/qmail/queue/mess/15/26902
. Оно было в очереди
шесть дней; что я могу сделать, чтобы завтра оно не было отослано обратно?
Ответ:
Просто выполните
touch /var/qmail/queue/info/15/26902.
Это единственный безопасный способ модификации очереди при работающем qmail.
11.7 Как мне сохранять копии всех входящих и исходящих сообщений?
Установите QUEUE_EXTRA
в "Tlog\0
" и
QUEUE_EXTRALEN
в 5
в extra.h
.
Пересоберите qmail. Поместите строку ./msg-log
в
~alias/.qmail-log
.
Вы можете также использовать QUEUE_EXTRA
, например, записывать
Message-ID
каждого сообщения: поместите строку
| awk '/^$/ { exit } /^[mM][eE][sS][sS][aA][gG][eE]-/ { print }'
в ~alias/.qmail-log
.
Вперед Return Содержание