Як побачити останні x рядки з журналу обслуговування systemctl


21

Я шукаю спосіб просто надрукувати останні X рядки з сервісу systemctl в Debian. Я хотів би встановити цей код у скрипт, в якому використовуються друковані та останні записи журналу. Я знайшов цю публікацію, але не зміг її змінити для своїх цілей.

Наразі я використовую цей код, який просто дає мені невеликий фрагмент файлів журналу:

journalctl --unit=my.service --since "1 hour ago" -p err

Щоб навести приклад того, як повинен виглядати результат, просто введіть команду вище для будь-якої служби та прокрутіть до кінця журналу. Потім скопіюйте останні 300 рядків, починаючи знизу.

Моя ідея - використовувати egrep ex. egrep -m 700 .але відтепер мені не пощастило

Відповіді:



7

Просто передайте вихід на tail:

journalctl --unit=my.service | tail -n 300

tailКоманда виводить останні рядки (за замовчуванням 10) , отриманих в стандартному вводі в стандартний висновок.


1
Повністю забув про хвіст - відмінна ідея, дуже дякую!
користувач3191334

5
Хвіст може бути болісно повільним для великих колод. Вбудований -nжурнал журналу - це те, що ви хочете. наприкладjournalctl -n 300
Дрейки

4

Якщо ви хочете переглянути останнє n число рядків і побачити нові повідомлення під час друку до журналу, спробуйте:

journalctl -u <service name> -n <number of lines> -f

Де -nвказується кількість рядків, які ви хочете побачити з хвоста журналу, і -fвказується, що ви хочете слідкувати за журналом під час його зміни.


4

Просто:

journalctl -u SERVICE_NAME -e

Параметр -eозначає:

-e - сторінкуrend; Негайно перейдіть до кінця журналу всередині інструменту, що передбачає пейджер. Це означає -n 1000, щоб гарантувати, що пейджер не буде буферувати журнали без обмеженого розміру. Це може бути замінено явним -n з деяким іншим числовим значенням, тоді як -nall відключить цю обмеження.


1

оскільки хед-командне рішення aleady передбачено. Я спробував за допомогою sed commmand, і це спрацювало чудово

Знизу команда відобразить останні 300 рядків

journalctl --unit=my.service | sed -e :a -e '$q;N;301,$D;ba' 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.