Wyświetlanie „przewijanie” pliku dziennika

28

Poprzez linię poleceń, Mam plik dziennika chciałbym śledzić.

Co chcę to mieć, Zasadniczo, tailktóry odświeża, gdy dziennik jest aktualizowana co przewijania tekstu w górę jak nowe linie są dołączane do pliku dziennika.

Czy jest coś tam, że robi to bez konieczności pisania kodu?

WernerCD
źródło

Odpowiedzi:

35

tailma -fopcję:

Ze manstrony:

-f, --follow [= {nazwa | deskryptor}] generuje dołączane dane wraz ze wzrostem pliku; -f, --follow i --follow = deskryptor są równoważne

Zatem jeśli wpiszesz:

tail -f [path_and_name_of_logfile] - zobaczysz wynik w terminalu, gdy dołączony jest sam plik dziennika.

NB [path_and_name_of_logfile]jest parametrem, aby dać przykład:

tail -f /var/log/messages

Jeśli połączysz się z -n [number_of_lines]opcją, możesz na przykład uruchomić wyjście z ostatniego [liczba_linii] w pliku

tail -n 10 -f /var/log/Xorg.0.log

wprowadź opis zdjęcia tutaj


Niektóre programy okresowo zmieniają plik dziennika, przenosząc stary do nowej nazwy (np. Log.0) i rozpoczynając od nowa.

NB logrotate robi to w celu rejestrowania plików dla innych programów, które same tego nie robią.

tail -f będzie nadal podążać za starym plikiem po zmianie jego nazwy.

tail -F podąży za plikiem według nazwy, więc przejdzie do śledzenia nowego pliku.

fossfreedom
źródło
obie odpowiedzi są na miejscu ... nie zdawałem sobie sprawy, że Tail ma taką opcję. dostaniesz czek na dodatkowe informacje.
WernerCD,
Na marginesie, istnieje również kilka niesamowitych skryptów, aby pokolorować dziennik tailing. Jednym z przykładów, który przychodzi mi na myśl, jest colorize.pl, a osiągasz to poprzez przepuszczenie go przez skrypt colorize. np .: tail -f / var / log / messages | /home/me/colorize.pl
lazyPower
@lazyPower Nice również. Będę musiał się z tym majstrować, choć nie sądzę, że będzie to bardzo przydatne w mojej obecnej sytuacji.
WernerCD
18

Chociaż tailjest to z pewnością zwykły sposób na zrobienie tego, należy zauważyć, że lessma tę samą funkcję i czasami jest bardziej przydatny.

Jeśli otworzyłeś plik less, możesz nacisnąć Shift+, Faby śledzić plik (tzn. Wyświetli nowe wiersze, tak jak tail -frobi). Możesz wyjść z tego trybu za pomocą Ctrl+C

Możesz także rozpocząć lessod +Fopcji, w którym to przypadku rozpocznie się w tym trybie. Mówiąc ogólnie, +można użyć do „komend klawiaturowych”, lessktóre zostaną wykonane podczas uruchamiania.

Korzystanie lessz tego ma tę zaletę, że można łatwo przeszukać plik lub wyświetlić inne obszary, jeśli zajdzie taka potrzeba. Często robiłem to na przykład z plikami dziennika.

Joachim Sauer
źródło
Nigdy nie słyszałem o „podążaniu” (więcej, mniej, ogon, kot). Dobrze wiedzieć.
WernerCD
1
Zgoda. Wolę mniej. Ctrl-C zatrzyma przewijanie, gdy zauważysz coś interesującego, a następnie b, aby przewinąć do tyłu lub f do przodu i / lub? szukać do przodu lub do tyłu. g przeniesie Cię na początek pliku, a G do końca. Wszystko czego potrzebujesz.
Martin Dow
6

Robi

tail -f something.log

rób co chcesz?

Florian Diesch
źródło
4

tail ma dwie implementacje do śledzenia i dane wyjściowe, które są dołączane do pliku

  • postępuj zgodnie z deskryptorem pliku
  • śledź plik o określonej nazwie

Z parametrem -f, --followi --follow=descriptor, tailnastępuje deskryptor pliku. Ta metoda pozwala na śledzenie pliku podczas zmiany nazwy, ale śledzenie zatrzymuje się, gdy plik jest obracany (nowy plik jest tworzony z innym deskryptorem pliku).

Podczas śledzenia rotowanych plików użyj --follow=namealbo -Fparametru, który jest równy --follow=name --retry. W ten sposób tailokresowo ponownie otworzy plik, aby przezwyciężyć możliwy obrót.

Jawa
źródło
1

Myślę, że Ccze jest właściwym narzędziem dla Ciebie.

Robi to samo z koloryzacją. Możesz obserwować przewijanie dziennika, ale jest łatwiejszy do odczytania, ponieważ linie są drukowane w kolorach (błędy na czerwono itd.). Możesz szybko wypróbować coś takiego:

tail -f /var/log/syslog | ccze
Gelma
źródło