Używamy ogona do ciągłego monitorowania kilku dzienników, ale po obróceniu dziennika ogon tego pliku przestanie działać.
O ile rozumiem, problem polega na tym, że po obróceniu dziennika powstaje nowy plik, a działający proces tail nie wie nic o tym nowym uchwycie pliku.
Z ogona człowieka :
W takim przypadku użycie tej
-F
opcji byłoby poprawne.źródło
Dokładna odpowiedź zależy od systemu operacyjnego - ale w wielu przypadkach
tail -F
zrobi to dobrze.źródło
tail -F lub tail --follow = nazwa
źródło
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.
źródło
Używam polecenia na moim serwerze produkcyjnym:
źródło
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.
źródło