Я только изменил эти файлы; qmail-send
продолжает работать со старыми файлами.
Ответ:
Найдите процесс qmail-send
и пошлите ему сигнал HUP. Альтернативный способ,
если qmail под управлением supervise ---смотрите вопрос
Как мне запустить qmail под управлением supervise?:
svc -h /service/qmail
Вы можете также перестартовать qmail ---смотрите ответ на
Как мне безопасно остановить qmail-send?. qmail-send
прочтет новые файлы когда стартует.
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
.
Мне хотелось бы, чтобы qmail попытался доставить все сообщения для удаленных получателей прямо сейчас.
Ответ:
Найдите процесс qmail-send
и пошлите ему сигнал ALRM. Альтернативный способ, если qmail
под управлением supervise ---смотрите
Как мне запустить qmail под управлением supervise?:
svc -a /service/qmail
Вы можете запустить сперва qmail-tcpok
, чтобы убедиться, что qmail-remote
свяжется со всеми получателями. Обычно, если несколько раз происходит сбой передачи какого-либо сообщения,
qmail-remote
откладывает его доставку на час.
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.
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
с одним и тем же каталогом логов.
Кто-то снова сломал компьютер Эрика; он будет выключен, как минимум, еще два дня.
Я знаю, что Эрик ждет важное сообщение. Фактически, оно уже пришло,
я вижу его в очереди в /var/qmail/queue/mess/15/26902
. Оно было в очереди шесть дней;
что я могу сделать, чтобы завтра оно не было отослано обратно?
Ответ:
Просто выполните
touch /var/qmail/queue/info/15/26902.
Это единственный безопасный способ модификации очереди при работающем qmail.
Установите 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
.