Зараз ми переходимо від Ubuntu 12.04 LTS до 14.04 LTS на нашому рубіні на серверах додатків рейлів, і помітили, що файли журналів більше не обертаються.
На обох машинах у нас є файл, що /var/app-name/config/logrotate
належить нашому користувачеві Unix, deployer
який містить дійсний файл logrotate таким чином:
/var/app-name/log/*.log {
daily
rotate 365
delaycompress
compress
dateext
dateformat -%Y%m%d
missingok
copytruncate
}
Потім це посилання посилається на /etc/logrotate.d/
каталог якapp-name
На нашому сервері Ubuntu 12.04 ми маємо логротат 3.7.8, що працює чудово. Він переходить у var/app-name/log/
каталог і обертає всі файли журналів
Але на сервері Ubuntu 14.04 у нас є logrotate 3.8.7, який не обертає журнали для нашого додатка.
Коли я налагоджую це через, sudo logrotate -d -f /etc/logrotate/.conf
я отримую такий вихід:
Ignoring /etc/logrotate.d/app-name because the file owner is wrong (should be root).
Зміна цього коду, схоже, ця зміна була додана для потоку випуску 3.8.x: https://github.com/demands/logrotate/commit/b8ce386a969c60e5c8ee78023c24a1ba0aab1526
Якщо змінити власність файлу слінкован в /var/app-name/config/logrotate
в root
то знову починає працювати. Але з огляду на те, що цей файл є частиною моєї програми, і створений рамкою розгортання capistrano, яку ми використовуємо в цьому стані, я б краще не міняв його права власності, коли він працював чудово.
Тож чи пов'язані файли конфігурації, які рекомендовані / підтримуються logrotate?
І якщо так, чи слід відмовитися від використання мого файлу ( deployer
належного до нього), який є посиланням на /etc/logrotate.d
каталог, розглядатися як помилка?
Або існує інший рекомендований підхід для обертання журналу, що залежить від додатка?
(також запитували на unix StackExchange )