Systemctl hizmet günlüğünden en son x satırlarını görme


21

Ben sadece Debian bir systemctl hizmetinden son X satırları yazdırmak için bir yol arıyorum. Bu kodu yazdırılan ve en son günlük girişlerini kullanan bir komut dosyasına yüklemek istiyorum. Bulduğum bu yazı ama benim amaçlar için değiştirmek mümkün değildi.

Şu anda bana günlük dosyalarının küçük bir parçasını veren bu kodu kullanıyorum:

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

Sonucun nasıl görünmesi gerektiğine dair bir örnek vermek için, herhangi bir hizmet için yukarıdaki komutu yazmanız ve günlüğün sonuna kadar kaydırmanız yeterlidir. Ardından, alttan başlayarak son 300 satırı kopyalayın.

Benim fikrim egrep ex kullanmaktır. egrep -m 700 .ama o zamandan beri hiç şansım yoktu.

Yanıtlar:



7

Sadece çıktıyı boruya bağlayın tail:

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

tailKomut Stdout'a stdin'i alınan son satırları (varsayılan olarak 10) yazdırır.


1
Tamamen kuyruk unuttum - harika fikir, çok teşekkür ederim!
user3191334

5
Kuyruk büyük kütükler için ağrılı bir şekilde yavaş olabilir. -nJournalctrl'in yerleşik hali istediğiniz şeydir. ör.journalctl -n 300
Drakes

4

Geçen görmek istiyorsan n çizgilerinin sayısını ve bunların günlüğüne yazdırılır gibi yeni iletileri görmek, şunu deneyin:

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

Burada -n, günlüğün kuyruğundan görmek istediğiniz satır sayısını -fbelirtir ve günlüğü değiştikçe takip etmek istediğinizi belirtir.


4

Sadece:

journalctl -u SERVICE_NAME -e

Parametre şu -eanlama gelir:

-e --gerek; Hemen zımni çağrı aracı içinde derginin sonuna atlamak. Bu, çağrı cihazının sınırsız boyuttaki günlükleri arabelleğe almayacağını garanti etmek için -n 1000 anlamına gelir. Bu, başka bir sayısal değer içeren açık bir -n ile geçersiz kılınabilirken -nall bu sınırı devre dışı bırakır.


1

Ben kuyruk komuta çözüm aleady sağlanan beri. sed commmand kullanarak çalıştı ve onun amele para cezası

Aşağıdaki komut son 300 satırı gösterecektir

journalctl --unit=my.service | sed -e :a -e '$q;N;301,$D;ba' 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.