Làm thế nào để thực hiện một `đuôi -f` của các tệp xoay vòng nhật ký?


106

Trên một hệ thống chạy dài, tôi thường có một thiết bị đầu cuối với

$ tail -f /var/log/kern.log

hoặc một cái gì đó như thế này mở.

Nhưng thỉnh thoảng tôi phải khởi động lại lệnh như vậy vì không có tin nhắn mới nào được hiển thị nữa.

Tôi cho rằng điều này là do công việc xoay vòng nhật ký đã thay thế tệp nhật ký tail -flà 'đang xem'.

Làm thế nào tôi có thể tránh vấn đề khởi động lại này?

Tôi có thể gọi tailđể nó thông báo quá trình quay và làm đúng không?

(Tôi nhận thấy vấn đề này trên hệ thống Ubuntu 11.04 sử dụng rsyslogdtheo mặc định.)


Câu trả lời:


162

Sử dụng -Ftùy chọn thay thế:

tail -F /var/log/kern.log

Các -Ftùy chọn bảo tailđể theo dõi những thay đổi đến tập tin theo tên file, thay vì sử dụng số inode mà thay đổi trong quá trình quay. Nó cũng sẽ tiếp tục cố gắng mở tệp nếu nó không xuất hiện.


7
Tuyệt vời, vâng, tôi. (chỉ dành cho bản ghi, đây là tùy chọn đuôi GNU - trong đó đuôi GNU dĩ nhiên là mặc định trên Ubuntu).
maxschlepzig

Bạn đã đúng: - / Tôi không nhận thấy rằng Ubuntu trong câu hỏi của bạn chỉ là một ví dụ.
andcoz

hoàn toàn không phải là vấn đề - tôi chỉ nhận xét về tính đầy đủ (đôi khi tôi chỉ muốn xem POSIX là gì và không phải là gì). Câu hỏi thực sự là khá nhiều về Ubuntu.
maxschlepzig

1
tail -F /var/log/kern.logtương đương với tail -f --follow=name --retry /var/log/kern.log?
Basj

1
@Basj - theo man7.org/linux/man-pages/man1/tail.1.html tương đương
andrej
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.