J'ai un script en cours d'exécution, lisant la tail -f /var/log/daemon.log
Le problème est que, lorsque le file /var/log/daemon.log
est pivoté par logrotate
, la queue a toujours "handle de file" pour l'ancien file (pivoté) et n'affiche plus le contenu du nouveau /var/log/daemon.log
file /var/log/daemon.log
Y at-il un moyen de résoudre ce problème, de sorte que la tail
montre le contenu du nouveau file, si le file a été pivoté?
Oui. Vous cherchez la tail -F
au lieu de la tail -f
(c'est-à-dire un F majuscule au lieu de minuscules). Vérifiez la page de manuel de la queue (1).
Vous pouvez également utiliser --follow=name --retry
, que la page de manuel documente comme la même chose.
(Ce sont de la queue de GNU coreutils, d'autres queues peuvent ne pas avoir cela, POSIX ne spécifie pas -F
, --follow
, ou --retry
.) Si vous devez travailler sur ces systèmes, je suggère File :: Tail de Perl. )