2011-06-30 7 views
7

Tôi có một ứng dụng tùy chỉnh (myApp) đang ghi nhật ký vào tệp '/ var/log/myApp'. Tôi có thể thấy các bản ghi được viết và nó hoạt động tốt. Bây giờ tôi đang cố gắng để thiết lập logrotate cho tập tin này và cho điều này tôi đã tạo ra một tập tin cấu hình '/etc/logrotate.d/myApp', nội dung trong đó là -Logrotate không tự động xoay khi dựa trên kích thước nhật ký

/var/log/myApp { 
    missingok 
    size +10k 
    start 0 
    nocompress 
    create 0600 root root 
    rotate 10 
    postrotate 
    /etc/init.d/rsyslog restart > /dev/null 2>&1 || true 
    endscript 
} 

Bây giờ nếu tôi làm một logrotate -dv /etc/logrotate.d/myApp tôi không thấy bất kỳ lỗi nào như vậy và khi logrotate -f /etc/logrotate.d/myApp được thực hiện nghĩa là, một logrotate mạnh log nhật ký được xoay. Nhưng khi kích thước tệp nhật ký vượt quá 10k thì nhật ký không tự động xoay. Bất kỳ trợ giúp sẽ được đánh giá cao.

Trả lời

3

logrotate xoay nhật ký được chỉ định trong /etc/logrotate.d/ theo khoảng thời gian được định cấu hình trong /etc/logrotate.conf. Trên một số bản phân phối, giá trị mặc định là một tuần. Bạn có thể ghi đè khoảng thời gian đó trong cấu hình cụ thể của mình bằng cách sử dụng ví dụ: 'hàng ngày' trong tệp cấu hình của bạn.

Tệp nhật ký sẽ không được xoay cho đến khi logrotate đã biết về các tệp trong ít nhất miễn là thời gian được chỉ định. Tôi cho rằng bạn đã chờ đợi lâu và/hoặc sửa đổi tệp conf?

+0

> Tệp nhật ký sẽ không được xoay cho đến khi logrotate biết về tệp ít nhất chừng nào thời gian được chỉ định. Gwha? Đó là tin cho tôi. Tôi không thấy gì trong trang người đàn ông logrotate về điều đó. Làm thế nào sẽ gỡ lỗi một tập tin conf logrotate mà không cần phải chờ 24 giờ để xem nó có hoạt động không? – Logan

+0

@Logan - Bạn sử dụng tùy chọn '-f' (lực). – Hogan

+0

Xem thêm http://unix.stackexchange.com/questions/15546/logrotate-log-does-not-need-rotating-why/15547#15547 (/ var/lib/logrotate/status và -f flag) – pevik

1

hoạt động đăng nhập chỉ hoạt động mỗi ngày một lần, do đó, nó không kiểm tra kích thước tệp của bạn mọi lúc.

nếu bạn muốn một cách hiệu quả để giữ cho kích thước thấp hơn, bạn nên sử dụng một công việc định kỳ như

ví dụ, buộc xoay mỗi giờ trong crontab của bạn

0 * * * * logrotate <my conf here> 

và các bản ghi của bạn sẽ được , nếu cần, luân phiên mỗi giờ. Tôi có vấn đề như vậy trong máy chủ aws tầng miễn phí của tôi, vì kích thước vượt quá nhanh và tôi không có đủ dung lượng đĩa để chờ 24 giờ để xoay