У меня есть Apache / 2.2.22 (Linux / SUSE), и он автоматически перезагружается каждый день в одно и то же время. У меня нет заданий cron, настроенных для этого для любого пользователя.
Я начал собирать мельчайшие снимки страницы статуса и из этого выяснил, что:
Restart Time: Friday, 31-Jan-2014 12:15:03 EET
Restart Time: Saturday, 01-Feb-2014 12:15:04 EET
Restart Time: Sunday, 02-Feb-2014 12:15:05 EET
Restart Time: Monday, 03-Feb-2014 12:15:06 EET
Из мгновенных снимков страницы состояния выясняется, что до перезапуска значимого трафика не было.
При каждом перезапуске я получаю следующее /var/log/messages
без ничего интересного:
2014-02-03T12:15:02.576970+02:00 foobar systemd[1]: Reloading apache.
2014-02-03T12:15:03.225024+02:00 foobar start_apache2[15393]: Syntax OK
2014-02-03T12:15:03.298169+02:00 foobar systemd[1]: Reloaded apache.
Есть идеи, почему это происходит или где мне посмотреть дальше?
Apache не перезапускается (что подразумевает его выключение и повторный запуск). Вместо этого он перечитывает свой файл конфигурации.
Держу пари, что это вызвано вашим программным обеспечением logrotation.
Если ротация журналов осуществляется путем перемещения журнала на новое имя и создания нового файла со старым именем, вам необходимо перезапустить apache, чтобы он начал использовать новый файл. Поэтому при ротации журналов apache вам необходимо выполнить одно из двух: