web-dev-qa-db-fra.com

Comment faire un `tail -f` de fichiers avec rotation de journal?

Sur un système de longue durée, j'ai généralement un terminal avec

$ tail -f /var/log/kern.log

ou quelque chose comme ça ouvert.

Mais de temps en temps, je dois redémarrer une telle commande car aucun nouveau message ne s'affiche plus.

Je suppose que cela est dû au travail de rotation du journal qui a remplacé le fichier journal tail -f était en train de regarder'.

Comment puis-je éviter ces problèmes de redémarrage?

Puis-je appeler tail de telle sorte qu'il remarque le processus de rotation et fasse la bonne chose?

(Je remarque ce problème sur un système Ubuntu 11.04 qui utilise rsyslogd par défaut.)

111
maxschlepzig

Utilisez plutôt l'option -F:

tail -F /var/log/kern.log

L'option -F Indique à tail de suivre les modifications apportées au fichier par nom de fichier, au lieu d'utiliser le numéro d'inode qui change pendant la rotation. Il continuera également d'essayer d'ouvrir le fichier s'il n'est pas présent.

170
andcoz