Làm cách nào để hướng đầu ra nhật ký của các đơn vị nhất định vào một tệp cụ thể?


12

Tôi đã có một hệ thống với một số trình tiện ích đang chạy (dưới dạng các đơn vị systemd) xuất thông tin nhật ký tới tạp chí trong Arch Linux. Tôi muốn hướng đầu ra nhật ký của một số tệp đơn vị đó thành một tệp văn bản riêng có vị trí tôi chỉ định, về cơ bản là tạo tệp nhật ký cho một tập hợp con của các đơn vị. Làm thế nào tôi có thể đi về làm điều đó?


Một câu hỏi liên quan là unix.stackexchange.com/questions/468444 .
JdeBP

Câu trả lời:


10

Có vẻ như điều này là không thể và không mong muốn bởi ngược dòng (chuyển hướng stdout / stderr sang các tệp riêng lẻ) xem ví dụ: http://lists.freedesktop.org/archives/systemd-devel/2012-March/004705.html - đọc toàn bộ chủ đề để biết thêm thông tin bối cảnh làm thế nào điều này được dự định để làm việc.

Những gì bạn có thể làm, là đăng nhập vào syslog và theo cách đó ghi vào các tệp riêng lẻ. Hoặc theo cách khác, nếu đơn vị gọi một số chương trình có thể tự ghi nhật ký, thì hãy sử dụng nó để đăng nhập vào một tệp.

Bạn cũng có thể muốn xem View stdout / stderr của systemd service

Những gì bạn đã có thể làm với thiết lập hiện tại của mình, là sử dụng
journalctl -u yourunitname > yourlogfile_for_yourunitname
để hướng toàn bộ đầu ra nhật ký cho đơn vị "yourunitname" của bạn vào một tệp.

Về phần sau, bạn cũng nên xem các gợi ý từ Lennart từ chuỗi danh sách gửi thư đã nói ở trên:

Trên các phiên bản systemd gần đây, một cái gì đó giống như systemd-journalctl -o cat _SYSTEMD_UNIT=postgresql.servicesẽ tạo ra một đầu ra rất đơn giản chỉ bao gồm các thông điệp thực tế và không có gì khác. Bạn thậm chí có thể vượt qua "-f" và thực hiện điều này trực tiếp. "

EDIT: Trên thực tế, đối với các phiên bản systemd mới hơn, lệnh chỉ là tạp chí và từ những gì tôi có thể nói, lệnh dài đã nói ở trên cũng giống như journalctl -u yourunitnamevà bạn cũng có thể -fở đó để "theo dõi" đầu ra (như trong tailf hoặc tail -f).

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.