Так что это сводит меня с ума. Я запускаю logrotate еженедельно для нескольких разных журналов, и он работает так, как я ожидаю. Однако ротация журналов происходит в воскресенье, что совпадает с завершением некоторой обработки, которая ведет журналы в те каталоги, которые должны быть ротированы. В двух словах, я хотел бы повернуть эти файлы журналов в четверг, до этой обработки, и я хотел бы сохранить «исправление» в самих конфигурациях logrotate (запуск вручную logrotate --force или размещение этого в скрипте ).
Я использую RHEL5 со следующими конфигурациями:
cat /etc/logrotate.d/custom
/var/log/mpxx/mpxx_log {
daily
rotate 30
compress
missingok
olddir /var/log/mpxx.old/
create 644 user user
dateext
}
/var/log/mpxx/repo.log /var/log/mpxx/stop_repo.log {
weekly
rotate 90
compress
missingok
olddir /var/log/mpxx.old/
create 644 user user
dateext
}
cat /var/lib/logrotate.status
"/var/log/mpxx/repo.log" 2015-4-12
"/var/log/mpxx/stop_repo.log" 2015-4-12
Я вручную повернул журналы с помощью logrotate --force /etc/logrotate.d/custom в пятницу, 10 апреля, когда заметил проблему. Затем я вручную отредактировал файл logrotate.status, чтобы отразить следующее:
"/var/log/mpxx/repo.log" 2015-4-9
"/var/log/mpxx/stop_repo.log" 2015-4-9
К сожалению, мой запуск logrotate вручную и мои изменения в файле состояния не помешали logrotate выполнить ротацию файлов журналов 12 апреля, как отмечалось ранее.
Как я могу заставить logrotate выполнять ротацию еженедельно, но в определенный день недели? Мои поиски и исследования ничего не дали.
Заранее спасибо!