Я только изменил эти файлы; 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.