Làm thế nào để ghi thông điệp nhật ký init.d vào đĩa?


7

Tôi đang chạy Debian khò khè. Nhiều tập lệnh /etc/init.d/sử dụng các chức năng ghi nhật ký khác nhau được xác định trong Cơ sở Tiêu chuẩn Linux , như log_success_msglog_warning_msg. Tài liệu LSB có vẻ hơi mơ hồ về chính xác những gì các chức năng này nên làm:

Hàm log_success_msg sẽ khiến hệ thống ghi thông báo thành công vào tệp nhật ký không xác định. Định dạng của tin nhắn là không xác định. Hàm log_success_msg cũng có thể viết một thông điệp đến đầu ra tiêu chuẩn.

Tuy nhiên, tôi đoán điều này được hiểu là các hàm có thể ghi vào tệp nhật ký hoặc chỉ ghi vào đầu ra tiêu chuẩn. Có vẻ như trên Debian ít nhất, nó chỉ khiến một thông điệp được ghi vào đầu ra tiêu chuẩn. Sự nghi ngờ của tôi đã được xác nhận khi tôi kiểm tra tệp xác định các chức năng này /lib/lsb/init-functions- nó chỉ gọi echođể hiển thị bất kỳ thông điệp tường trình nào.

Đây không phải là hành vi hữu ích. Văn bản được viết khi khởi động đến đầu ra tiêu chuẩn sẽ biến mất ngay sau khi khởi động xong và có thể cuộn khỏi đỉnh màn hình trong mọi trường hợp. Chắc chắn sẽ hữu ích hơn nhiều nếu những thông điệp này thực sự được lưu trữ trong một tệp nhật ký; trong thực tế, tôi thậm chí không nhìn thấy điểm ghi nhật ký bất cứ điều gì thông qua các chức năng này nếu chúng chỉ đi đến đầu ra tiêu chuẩn.

Có cách nào để đưa các bản ghi này đi đến một tập tin? Bất cứ ai cũng có thể khai sáng cho tôi về lý do tại sao bạn lại bận tâm "ghi nhật ký" bất cứ điều gì vào đầu ra tiêu chuẩn? Nó phục vụ chức năng gì?


Tôi đọc được điều đó là việc ghi thông điệp vào đĩa là bắt buộc và việc lặp lại nó thành thiết bị xuất chuẩn là một tùy chọn bổ sung. Nếu bạn nói đúng về hành vi của Debian, thì đối với tôi như thể Debian không tuân thủ.
James Youngman

Câu trả lời:


5

Có vẻ như giải pháp là cài đặt bootlogdvà đặt

BOOTLOGD_ENABLE=yes

trong /etc/default/bootlogd.

Người giới thiệu:


1
Cảm ơn, điều này đã làm việc độc đáo! Họ thực sự đã thay đổi nó từ Debian ép thành khò khè. Trong bóp, bootlogd được cài đặt theo mặc định và bạn chỉ cần chỉnh sửa /etc/default/bootlogdvà thiết lập BOOTLOGD_ENABLE=yes. Trong cơn khò khè, họ đã chuyển bootlogd thành một gói riêng để bạn cài đặt gói bootlogd; với gói được cài đặt, nó luôn ghi lại đầu ra khởi động /var/log/bootvà bạn không cần chỉnh sửa bất kỳ tệp cấu hình nào.
Jez
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.