Szukam sposobu, aby po prostu wydrukować ostatnie X wierszy z usługi systemctl w Debianie. Chciałbym zainstalować ten kod w skrypcie, który wykorzystuje wydrukowane i najnowsze wpisy dziennika. Znalazłem ten post, ale nie byłem w stanie go zmodyfikować do moich celów.
Obecnie używam tego kodu, który daje mi tylko krótki fragment plików dziennika:
journalctl --unit=my.service --since "1 hour ago" -p err
Aby podać przykład, jak powinien wyglądać wynik, wystarczy wpisać polecenie powyżej dla dowolnej usługi i przewijać do końca dziennika. Następnie skopiuj ostatnie 300 wierszy, zaczynając od dołu.
Moim pomysłem jest użycie egrep ex. egrep -m 700 .
ale odtąd nie miałem szczęścia.
systemd
journalctl
systemctl
użytkownik3191334
źródło
źródło
-n
dziennikrrl jest tym, czego chcesz. np.journalctl -n 300
Jeśli chcesz zobaczyć ostatnie n liczbę wierszy i zobaczyć nowe wiadomości, ponieważ są one drukowane w dzienniku, spróbuj tego:
Gdzie
-n
wskazuje liczbę wierszy, które chcesz zobaczyć od końca dziennika, i-f
określa, że chcesz śledzić dziennik, gdy się zmienia.źródło
Właśnie:
Parametr
-e
oznacza:źródło
od czasu rozwiązania komendy tail aleady pod warunkiem. Próbowałem przy użyciu komendy sed i działało dobrze
Poniższe polecenie wyświetli ostatnie 300 wierszy
źródło