Odpowiedzi:
Ach, jest na to flaga.
zamiast używać tail -f /var/log/file
powinniśmy używaćtail -F /var/log/file
tail -F
tłumaczy się tail --follow=name --retry
jak w;
--follow=name
: podążaj za nazwą pliku zamiast deskryptora pliku--retry
: jeśli plik jest niedostępny, spróbuj ponownie później zamiast umierać# tail --follow=mylog.log
Z ogona człowieka :
With --follow (-f), tail defaults to following the file descriptor,
which means that even if a tail’ed file is renamed, tail will continue
to track its end. This default behavior is not desirable when you
really want to track the actual name of the file, not the file descrip‐
tor (e.g., log rotation). Use --follow=name in that case. That causes
tail to track the named file by reopening it periodically to see if it
has been removed and recreated by some other program.
W takim przypadku użycie tej -F
opcji byłoby poprawne.
-F same as --follow=name --retry
Dokładna odpowiedź zależy od systemu operacyjnego - ale w wielu przypadkach tail -F
zrobi to dobrze.
IMHO, trochę dziwnie jest zmieniać plik dziennika według ROZMIARU, a nie według daty. Większość logów systemowych (w Uniksie lub Linuksie) obraca się co tydzień lub co miesiąc, a nie na podstawie wielkości ... To jest coś, co lubię z różnych powodów, a także coś, co, jeśli zostanie zaimplementowane, rozwiązałoby twój problem.
Osiem lat później nie wiem, o czym, do diabła, tu mówiłem: jest mnóstwo miejsc, w których chcesz obracać według rozmiaru, ponieważ codzienne / tygodniowe / miesięczne rotacje mogą dać MASYWNE pliki, które mogą powodować poważne problemy.
Z bardziej doświadczonego punktu widzenia prawdziwe pytanie brzmi: dlaczego chcesz siedzieć i ciągle ogoniać plik, który rośnie tak szybko, że obracasz go więcej niż codziennie ... To byłoby jak oglądanie strumienia Matrix.
Teraz lepiej przyjrzeć się agregacji dzienników dużych danych, takich jak Splunk lub Sumologic, w których można filtrować zdarzenia dziennika do klas i uruchamiać je na podstawie określonych wartości dziennika ... Nie trzeba w ogóle oglądać dzienników na żywo.
Ponadto może być nieco zbyt ciężki dla twoich celów, ale splunk ma funkcję ogona, aby robić dokładnie to, co chcesz. Jest bezpłatny do 500 MB dziennie, ale jeśli twoje dane przekraczają ten rozmiar, nie byłoby warte kosztów.