Xóa các tập tin với logrotate


13

Có thể CHỈ để xóa các tệp nhật ký trong một thư mục bằng cách sử dụng logrotate w / o thực sự xoay chúng? Chúng tôi có một ứng dụng tạo nhật ký theo định dạng sau: app.log.DD_MM_YYYY. Tôi không thành công với logrotate có cấu hình sau:

/opt/log/app/app.log.* {
         rotate 0
         missingok
         nomail
}

Nhật ký xoay có thể làm điều này hay tôi chỉ nên viết một tập lệnh và đặt nó trong cron?

Tốt nhất, -Iulian


Nếu bạn không cần những nhật ký đó tại sao không tắt tính năng ghi nhật ký trên ứng dụng của bạn?
Deeh

1
Tôi xin lỗi nhưng tôi không thể coi đó là câu trả lời Deeh. Để khơi gợi sự tò mò của bạn, chúng tôi cần những nhật ký đó cho các hoạt động khác nhau như gỡ lỗi, chúng tôi chỉ không muốn giữ chúng ở đó để thối rữa.
Iulian

Câu trả lời:


16

Trong trường hợp đó bạn có thể muốn sử dụng postrotate. Trong ví dụ dưới đây postrotate sẽ xóa các tệp cũ hơn 1 ngày sau khi nhật ký được xoay, hãy thoải mái sửa đổi nó để phù hợp với nhu cầu của bạn.

/opt/log/app/app.log.* {
        missingok
        nomail
postrotate
        /usr/bin/find /opt/log/app/ -name "app.log.*" -type f -mtime +0 -exec rm {} \;
endscript
}

3

Mục đích của logrotate là giữ một số lượng tệp nhật ký tùy chỉnh trên một khoảng thời gian tùy chỉnh. Tôi sẽ sử dụng cron cho nhiệm vụ của bạn. Tìm hiểu thêm về những gì bạn có thể làm với logrotate tại đây: http://www.jamescoyle.net/cheat-sheet/676-logrotate-cheat-sheet


2
Xin vui lòng không đăng câu trả lời chỉ liên kết để ngăn chặn thối liên kết. Thay vào đó, hãy thêm thông tin phù hợp nhất từ ​​liên kết vào câu trả lời của bạn hoặc cách khác, đăng liên kết dưới dạng nhận xét thay vì trả lời. Xem này trung tâm trợ giúp để biết thêm thông tin.
Sven
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.