У меня есть сервер Ubuntu 8.04 LTS, на котором работает openvpn. Сервер openvpn записывает в стандартный файл журнала в / var / log, и до месяца назад logrotate автоматически поворачивал файлы и сжимал их.
Файлы все еще меняются, но новый файл журнала (ovpn.log) пуст. Перезапуск демона openvpn устраняет проблему (то есть: openvpn записывает события состояния в файл), но примерно через 10 дней файл снова ротации openvpn не может снова записать в файл журнала. Это также странно, потому что logrotate настроен на ротацию каждые 6 месяцев.
Openvpn запускается как никто, а файлы журналов принадлежат root и admin, что странно, потому что он должен либо работать постоянно, либо не работать вообще, если права являются причиной, если openvpn не запускается временно от имени root, а затем переходит к никому после инициализации ?
OpenVPN, вероятно, все еще записывает в СТАРЫЙ файл журнала (файл (индексный дескриптор), который он открыл для обратной записи при запуске).
Logrotate должен уведомить демон OpenVPN о том, что его файл журнала был перевернут, чтобы OpenVPN мог открыть новый файл журнала (обычно это делается с помощью сигнала, но остановка / перезапуск всего демона имеет тот же эффект. Проверьте страницу руководства OpenVPN и свой сценарий "postrotate").
В качестве альтернативы вы можете настроить OpenVPN на использование системного журнала, поскольку logrotate
должен уведомлять syslogd
когда он скатывает ваши файлы журналов (или все ваши файлы журналов будут пустыми).
Ваш /etc/logrotate.d/openvpn
(или аналогичный файл) имеют postrotate
действие, которое отправляет SIGHUP
? Это должно сообщить демону, что файл журнала был повернут.
Похоже, что конфигурация logrotate нарушена.
Вы обновили logrotate и / или openvpn?
Попробуйте добавить опцию copytruncate в конфигурацию logrotate для Openvpn. Этот вариант, вероятно, решит эту проблему.