D'après mon expérience, logrotate est excellent. Il est très flexible et fonctionne bien avec la plupart des logiciels.
Cependant, il y a quelques problèmes avec lui, et comme cronolog est principalement une installation de rotation de journaux web, je vais écrire mon expérience avec logrotate + apache qui était problématique :
Lors de la rotation des journaux, nous devons informer apache qu'un journal est en cours de rotation, car même si logrotate renomme access.log en access.log.1, apache continuera d'écrire sur access.log.1, car il écrit sur l'inode, et renommer le fichier n'affecte pas le numéro d'inode.
Sur debian etch (et probablement beaucoup d'autres distros), logrotate est utilisé pour faire tourner les journaux d'apache. Or, apache a un redémarrage gracieux qui conseille aux processus enfants d'apache de se terminer une fois qu'ils ont fini de servir les connexions existantes, apache relit alors sa configuration, génère de nouveaux processus enfants, qui commencent à écrire dans un nouveau fichier journal (au cas où le précédent aurait été tourné).
Cela semble être une excellente solution, mais le redémarrage en douceur ne fonctionne pas toujours dans certaines conditions (comme une charge importante). Les développeurs de Debian ont donc décidé d'utiliser un redémarrage d'apache au lieu d'un redémarrage en douceur, dans la configuration de apache logrotate. Malheureusement, cela entraîne l'abandon de toutes les connexions en même temps, ce qui est très mauvais pour les sites très chargés. En outre, le redémarrage d'apache peut également causer des problèmes comme l'arrêt et le non-démarrage d'apache (également dans certaines situations de charge), voir les liens de bogue ci-dessous pour plus de détails.
L'essentiel est que logrotate est génial, mais peut conduire à certains problèmes pour certains programmes. Je n'ai pas beaucoup d'expérience avec cronolog, mais comme il écrit les journaux par un tuyau, il ne nécessite aucun rechargement d'apache lorsqu'il fait tourner les fichiers journaux, ce qui résout essentiellement tout ce qui est décrit ci-dessus.
Bogues connexes de logrotate/apache debian :
- Bogue de Debian #301702
- Bogue de Debian #400455