Tại sao chúng ta nên sử dụng tạo và copytruncate cùng nhau?


40

Geek Stuff có một ví dụ về logrotate. copytruncatesẽ sao chép và cắt bớt tệp nhật ký gốc.

Vậy thì tại sao chúng ta nên sử dụng create? Tệp nhật ký gốc chưa bị xóa.

/tmp/output.log {
  size 1k
  copytruncate
  create
  compress
  compresscmd /bin/bzip2
  compressext .bz2
  rotate 4
  maxage 100
}

Một câu hỏi khác là sử dụng là maxage 100gì? Lệnh rotate 4sẽ xóa các tệp nhật ký cũ sau 4 vòng quay.


4
Có, điều đó không có ý nghĩa và man logrotatethậm chí còn nói như vậy: " copytruncate : [...] 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, vì tệp nhật ký cũ vẫn giữ nguyên vị trí."
Ulrich Schwarz

1
maxage 100sẽ xóa các tệp được xoay khi chúng trở nên cũ hơn 100 ngày và tệp hiện tại được xoay; ngay cả khi ít hơn 4các tập tin xoay vòng tồn tại.
Lutz Prechelt

Câu trả lời:


57

Đó có lẽ là một sai lầm, nó chỉ được tìm thấy trong một ví dụ trên hướng dẫn đó. Tất cả các ví dụ khác có copytruncatemà không có createtùy chọn. Ngoài ra logrotate trang man nói rằng nó sẽ thực sự bị bỏ qua :

copytruncate

Cắt bớt tệp nhật ký ban đầu về kích thước không tại chỗ sau khi tạo bản sao, thay vì di chuyển tệp nhật ký cũ và tùy ý tạo tệp 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 logfile của nó và do đó có thể tiếp tục ghi (nối thêm) vào tệp nhật ký trước đó mãi mãi. Lưu ý rằng có một lát cắt thời gian rất nhỏ giữa việc sao chép tệp và cắt bớt nó, vì vậy một số dữ liệu đăng nhập 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, vì tệp nhật ký cũ vẫn giữ nguyên vị trí.


Về maxage, tôi nghĩ rằng nó có thể hữu ích ví dụ cho các logfile có thể trống trong vài chu kỳ quay (ngày / tuần / tháng) - nếu bạn sử dụng notifempty, logfile trống sẽ không được xoay, do đó bạn vẫn có thể giữ các tệp được xoay quá cũ .

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.