Nous effectuons actuellement une mise à niveau d'Ubuntu 12.04 LTS vers 14.04 LTS sur nos serveurs d'applications ruby on rails, et nous avons remarqué que les fichiers journaux ne tournent plus.
Sur les deux machines, nous avons un fichier /var/app-name/config/logrotate
appartenant à notre utilisateur Unix deployer
qui contient un fichier logrotate valide comme suit:
/var/app-name/log/*.log {
daily
rotate 365
delaycompress
compress
dateext
dateformat -%Y%m%d
missingok
copytruncate
}
Celui-ci est ensuite lié dans le /etc/logrotate.d/
répertoire en tant queapp-name
Sur notre serveur Ubuntu 12.04, nous avons logrotate 3.7.8 qui fonctionne très bien. Il va dans le var/app-name/log/
répertoire et fait tourner tous les fichiers journaux
Mais sur le serveur Ubuntu 14.04, nous avons logrotate 3.8.7 qui ne fait pas tourner les fichiers journaux pour notre application.
Lorsque je débogue ceci via sudo logrotate -d -f /etc/logrotate/.conf
j'obtiens la sortie suivante:
Ignoring /etc/logrotate.d/app-name because the file owner is wrong (should be root).
En poursuivant cela dans le code, il semble que cette modification ait été ajoutée pour le flux de version 3.8.x: https://github.com/demands/logrotate/commit/b8ce386a969c60e5c8ee78023c24a1ba0aab1526
Si je change la propriété du fichier lié /var/app-name/config/logrotate
à root
alors il recommence à fonctionner. Mais étant donné que ce fichier fait partie de mon application et créé par le cadre de déploiement capistrano que nous utilisons dans cet état, je préfère ne pas avoir à modifier sa propriété, alors qu'il fonctionnait très bien.
Les fichiers de configuration de liens symboliques sont-ils donc recommandés / pris en charge par logrotate?
Et si c'est le cas, si c'est le refus d'utiliser mon fichier (détenu par deployer
) qui est lié par un lien symbolique dans le /etc/logrotate.d
répertoire, être considéré comme un bug?
Ou existe-t-il une autre approche recommandée pour la rotation des journaux spécifique à l'application?
(également demandé sur unix StackExchange )