Điểm:0

Logrotate không ghi vào tệp .log mới

lá cờ jp

Tôi có 4 dịch vụ systemd tùy chỉnh ghi vào nhật ký tùy chỉnh /var/log/. tôi thiết lập một quay vòng config, nhưng nó không ghi vào nhật ký mới nhất. Nó vẫn đang viết cho người cũ .log.1 tập tin. Những cái mới là tạo, chỉ là không có dữ liệu.

Đây là cấu hình logrotate của tôi:

/var/log/đại lý*.log {
        hằng ngày
        mất tích
        xoay 7
        nén trễ
        thông báo
        gốc rễ su
        quay sau
        /bin/systemctl tải lại đại lý*.service > /dev/null 2>/dev/null || thật
        phần cuối
        tạo gốc 0644 gốc

}

Các tệp nhật ký mới nhất trống:

-rw-r--r-- 1 gốc gốc 0 ngày 12 tháng 7 11:39 đại lýF2f.log
-rw-r--r-- 1 root root 0 ngày 12 tháng 7 11:39 dealerOutbound.log
-rw-r--r-- 1 root root 0 ngày 12 tháng 7 11:39 dealerTimeout.log
-rw-r--r-- 1 gốc gốc 0 ngày 12 tháng 7 11:39 đại lýWeb.log

Nó vẫn đang viết thư cho .log.1:

-rw-r--r-- 1 root root 36M ngày 12 tháng 7 12:52 dealerOutbound.log.1
-rw-r--r-- 1 gốc gốc 9,2 triệu ngày 12 tháng 7 12:52 đại lýF2f.log.1
-rw-r--r-- 1 gốc gốc 19 tháng 7 ngày 12 tháng 7 12:52 đại lýWeb.log.1
-rw-r--r-- 1 root root 171M ngày 12 tháng 7 12:52 dealerTimeout.log.1
Điểm:0
lá cờ it

Thông thường, tôi thấy một cái gì đó như thế này khi một quy trình vẫn mở tệp - nó sẽ tiếp tục ghi vào tệp cũ cho đến khi quy trình được khởi động lại.

Cá cược của tôi là nếu bạn khởi động lại thay vì tải lại thì nó sẽ hoạt động như mong đợi.

Nếu bạn không thể khởi động lại hoàn toàn quá trình, hãy xem xét tùy chọn copytruncate thay vì tập lệnh postrotate.

copytruncate Cắt bớt tệp nhật ký gốc thành kích thước bằng 0 tại chỗ sau khi tạo bản sao, thay vì di chuyển tệp nhật ký cũ và tùy chọn tạo một cái mới. Nó có thể được sử dụng khi một số chương trình không thể được yêu cầu đóng tệp nhật ký của nó và do đó có thể tiếp tục viết (nối thêm) vào tệp nhật ký trước đó mãi mãi. Lưu ý rằng có một khoảng thời gian rất nhỏ giữa việc sao chép tệp và trunâ lưu trữ nó, vì vậy một số dữ liệu ghi nhật ký có thể bị mất. Khi tùy chọn này được sử dụng, tùy chọn tạo sẽ không có hiệu lực như tùy chọn cũ tệp nhật ký vẫn ở nguyên vị trí.

DevOpsSauce avatar
lá cờ jp
Tôi đang cố gắng tránh khởi động lại hoàn toàn vì `ExecStopPost` của tôi gọi một tập lệnh bash gửi email, tuy nhiên, sử dụng copytruncate và xóa phần postrotate đã làm những gì tôi cần. Nó đã tạo nhật ký mới và bắt đầu ghi vào nhật ký đó một cách chính xác. Cảm ơn rất nhiều.
Ginnungagap avatar
lá cờ gu
`copytruncate` là phương án cuối cùng vì thiết kế của nó có sai sót (vì đó là cách tốt nhất có thể thực hiện được với các yêu cầu). Các dịch vụ thực sự phải có khả năng hỗ trợ xoay vòng tệp nhật ký đúng cách.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.