Ну значит надо самому стать "нормальным" админом.
В общем сделал детальное ведение логов BIND9. Попробую всё-таки отследить, что его выключает.
Если не получится, может быть имеет смысл перенести BIND в chroot, хотя, не уверен, что это поможет.
Попробую также его просто обновить до последней версии.
Ну и самое простое, на мой взгляд, добавить в CRON задание, чтоб перезапускал сервис после его остановки. Только время выключения отследить из лога надо.
И ещё... Пока всё это расписывал, пришла идея глянуть сервис logrotate.d.
В /etc/logrotate.d/bind9 следующее содержимое:
/var/log/bind/*.log {
daily
missingok
rotate 2
notifempty
create 640 bind adm
sharedscripts
postrotate
[ ! -f /var/run/bind/run/named.pid ] || kill -USR1 `cat /var/run/bind/run/named.pid`
endscript
}
Вот смущает скрипт в последних трёх строчках. Видимо как раз он сразу после ротации логов и останавливает BIND.
Сам пока не программист, зачем этот скрипт вообще нужен не понимаю.
Если кто-то понимает, подскажите, пожалуйста, для чего это нужно и как бы так всё обыграть, чтоб и скрипт выполнялся (если он действительно важен) и BIND9 ежесуточно не умирал.
P.S.: странно, /etc/logrotate.d/nginx также имеет этот скрипт, только с ним проблем нет. Почему-то NGINX нормально работает, а BIND9 отключается.