fai aspettare la coda per l'esistenza di un file


25

tail -f bar/somefile.logfallirebbe immediatamente quando somefile.log non esiste. Come faccio ad aspettare indefinitamente la coda per la creazione di quel file (cosa che succederà tra qualche istante)?

Aggiornamento: utilizzando -F, vedo:

tail: cannot open `bar/somefile.log' for reading: No such file or directory
tail: cannot watch parent directory of `bar/somefile.log': No such file or directory

perché non baresiste ancora (verrà creato tra qualche istante). quando barfu creato e somefile.logtoccato, tail non rilevò affatto i cambiamenti.

Risposte:



31

Non stai citando per quale sistema operativo ne hai bisogno, ma tailsu Linux ha le opzioni --retry e --follow che faranno proprio questo;

tail --retry --follow=name somefile.log

6
grazie o tail -F somefile.log. ma poi, la coda fallisce per un altro motivo (ho aggiornato la mia domanda)
Srid dice Reinstate Monica il

6

Crea prima il file:

touch somefile ; tail -f somefile

Bella soluzione logica elegante.
CarComp,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.