Cách xem các dòng x mới nhất từ ​​nhật ký dịch vụ systemctl


21

Tôi đang tìm cách, chỉ cần in các dòng X cuối cùng từ dịch vụ systemctl trong Debian. Tôi muốn cài đặt mã này vào một tập lệnh, trong đó sử dụng các mục nhật ký được in và mới nhất. Tôi đã tìm thấy bài đăng này nhưng tôi không thể sửa đổi nó cho mục đích của mình.

Hiện tại tôi đang sử dụng mã này, mã này chỉ cung cấp cho tôi một đoạn nhỏ các tệp nhật ký:

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

Để đưa ra một ví dụ về kết quả sẽ như thế nào, chỉ cần gõ lệnh trên cho bất kỳ dịch vụ nào và cuộn cho đến khi kết thúc nhật ký. Sau đó sao chép 300 dòng cuối cùng bắt đầu từ phía dưới.

Ý tưởng của tôi là sử dụng egrep ex. egrep -m 700 .nhưng tôi đã không có may mắn kể từ bây giờ.

Câu trả lời:



7

Chỉ cần dẫn đầu ra tới tail:

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

Các taillệnh in các dòng cuối cùng (10 theo mặc định) nhận được trong stdin để stdout.


1
Hoàn toàn quên mất đuôi - ý tưởng tuyệt vời, cảm ơn bạn rất nhiều!
dùng3191334

5
Đuôi có thể chậm một cách đau đớn cho các bản ghi lớn. Sự tích hợp -ncủa tạp chí là những gì bạn muốn. ví dụjournalctl -n 300
Drakes

4

Nếu bạn muốn xem số n dòng cuối cùng xem tin nhắn mới khi chúng được in vào nhật ký, hãy thử điều này:

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

Trong đó -ncho biết số lượng dòng bạn muốn xem từ đuôi của nhật ký và -fchỉ định rằng bạn muốn theo dõi nhật ký khi nó thay đổi.


4

Chỉ:

journalctl -u SERVICE_NAME -e

Tham số -elà viết tắt của:

-e --pagerend; Ngay lập tức nhảy đến cuối tạp chí bên trong công cụ máy nhắn tin ngụ ý. Điều này ngụ ý -n 1000 để đảm bảo rằng máy nhắn tin sẽ không đệm các bản ghi có kích thước không giới hạn. Điều này có thể được ghi đè bằng một -n rõ ràng với một số giá trị số khác, trong khi -nall sẽ vô hiệu hóa giới hạn này.


1

kể từ khi giải pháp lệnh đuôi được cung cấp. Tôi đã thử bằng cách sử dụng sed commmand và nó hoạt động tốt

Lệnh dưới đây sẽ hiển thị 300 dòng cuối cùng

journalctl --unit=my.service | sed -e :a -e '$q;N;301,$D;ba' 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.