У меня есть следующая конфигурация logrotate:
/var/журнал/хрони/*.лог {
ежедневно
отсутствует
не создавать
максимум 5
общие скрипты
постротировать
/usr/bin/chronyc -a cyclelogs > /dev/null 2>&1 || истинный
эндскрипт
}
При первом запуске logrotate копирует все файлы журнала chrony в файлы с расширениями .log. как положено. Я ожидаю, что после того, как это произойдет, должен запуститься postrotate, а chronyc должен создавать новые файлы, заканчивающиеся на .log. Этого не происходит. Например, это мой список каталогов прямо сейчас:
[журнал]# лс /var/журнал/хрони
измерения.log-20210727 статистика.log-20210727 отслеживание.log-20210727
Если я запускаю команду logrotate вручную, вот что я получаю
[журнал]# /usr/bin/chronyc -d -a журналы циклов
Разрешено 127.0.0.1 до 127.0.0.1
Решено с ::1 на ::1
Открытие соединения с /var/run/chrony/chronyd.sock
Отправлено 28 байт
Время ожидания 0,999857 секунд
Получено 28 байт
Ответить cmd=37 ответ=1 стат=0
200 ОК
Итак, похоже, что это удалось, но список каталогов не меняется. Новые файлы журнала не создаются, а новые сообщения журнала по-прежнему записываются в повернутые файлы. Действительно странно то, что у меня есть этот скрипт logrotate примерно на 50 серверах, и он работает на нескольких из них. Все серверы работают под управлением CentOS 7 (несколько разных версий CentOS 7, но закономерности я не вижу). Все серверы работают под управлением chrony-3.2-2.el7
Я не думаю, что здесь проблема с logrotate, поскольку запуск команды cyclelogs, похоже, не работает правильно, даже если я запускаю ее вне logrotate. Я неправильно понимаю, что должны делать циклологи? Обратите внимание, что если я перезапущу chronyd, он создаст новые файлы журналов, как я и ожидал.