(bài đầu tiên bao giờ vì vậy nếu nó trông giống như một con nhện say rượu đã được định dạng nó sau đó xin lỗi)
Sau khi sử dụng bạn của chúng tôi Google, ở đây và tôi không thể nhớ nơi khác tôi quản lý để đạt được một cái gì đó bằng cách sử dụng logrotate (chứ không phải là cron hoặc một số tương đương khác).
Tôi có một điều sau đây trong thư mục/var/log/rsync /:
-rw-r--r-- 1 root root 1.1M Apr 9 08:13 2014-04-09 07:48:18.log
-rw-r--r-- 1 root root 1.4M Apr 11 15:20 2014-04-11 15:02:52.log
-rw-r--r-- 1 root root 1.6M Apr 11 15:42 2014-04-11 15:22:04.log
-rw-r--r-- 1 root root 1.8M Apr 12 08:01 2014-04-12 07:45:31.log
-rw-r--r-- 1 root root 2.0M Apr 13 08:10 2014-04-13 07:53:38.log
-rw-r--r-- 1 root root 2.2M Apr 14 08:19 2014-04-14 07:51:09.log
-rw-r--r-- 1 root root 2.5M Apr 15 08:05 2014-04-15 07:37:38.log
-rw-r--r-- 1 root root 2.7M Apr 16 08:11 2014-04-16 07:43:14.log
và tập tin logrotate sau:
/var/log/rsync/*.log {
daily
rotate 7
compress
delaycompress
notifempty
missingok
}
mà tôi nghĩ là hoàn toàn hợp lý. Nhưng sau khi nó từ chối làm việc và tìm ra rằng nó sẽ không bao giờ làm việc (lịch sự của bài viết này) Tôi tự hỏi nếu nó có thể được fudged để làm cho nó hoạt động.
Sau nhiều thử nghiệm và tinh chỉnh tôi quản lý để giờ chót nó theo cách sau:
/var/log/rsync/dummy {
daily
rotate 0
create
ifempty
lastaction
/usr/bin/find /var/log/rsync/ -mtime +7 -delete
/usr/bin/find /var/log/rsync/ -mtime +1 -exec gzip -q {} \;
endscript
}
vào một tập tin cấu hình logrotate gọi /etc/logrotate.d/local-rsync.Sau đó tạo ra các tập tin đăng nhập giả:
touch /var/log/rsync/dummy
sau đó buộc một logrotate với:
logrotate -fv /etc/logrotate.d/local-rsync
mang đến cho:
-rw-r--r-- 1 root root 71K Apr 9 08:13 2014-04-09 07:48:18.log.gz
-rw-r--r-- 1 root root 88K Apr 11 15:20 2014-04-11 15:02:52.log.gz
-rw-r--r-- 1 root root 82K Apr 11 15:42 2014-04-11 15:22:04.log.gz
-rw-r--r-- 1 root root 84K Apr 12 08:01 2014-04-12 07:45:31.log.gz
-rw-r--r-- 1 root root 87K Apr 13 08:10 2014-04-13 07:53:38.log.gz
-rw-r--r-- 1 root root 92K Apr 14 08:19 2014-04-14 07:51:09.log.gz
-rw-r--r-- 1 root root 2.5M Apr 15 08:05 2014-04-15 07:37:38.log
-rw-r--r-- 1 root root 2.7M Apr 16 08:11 2014-04-16 07:43:14.log
-rw-r--r-- 1 root root 0 Apr 16 12:11 dummy
Bây giờ chỉ cần chờ đợi cho buổi sáng ngày mai ...
Tôi nhận ra rằng cron sẽ được tidier tuy nhiên tôi có một yếu tố trong tập tin cấu hình logrotate và muốn giữ cả hai cùng nhau.
Phần thưởng với tệp giả là tệp không chiếm bất kỳ dung lượng nào!
Bạn có thể thấy rằng nó dường như không xoay bất cứ thứ gì một ngày nào đó. Nó đã cho tôi trong khi để làm việc ra lý do tại sao nhưng sau đó nó xoắn. tìm -mtime +1 là toàn bộ ngày (tức là 24 * 60 phút) và nếu logrotate hàng ngày khởi động trong chưa đầy 24 giờ kể từ lần cuối cùng thời gian các bản ghi được tạo thì đôi khi nó dường như không hoạt động. Nếu nó làm phiền bạn sau đó sử dụng 23 giờ với find-mmin + 1380 có thể thích hợp hơn.
Cùng một vấn đề, với tomcat. ghi nhật ký xem mỗi catalina. [Date] .log dưới dạng tệp khác. Nó liều không nhóm chúng như catalina.đăng nhập. Nó không quay chúng. Mỗi tệp xuất hiện dưới dạng catalina. [Data] .log.1.gz. Vì vậy, tôi kết thúc với 200 tập tin với log.1.gz ở cuối. – nelaaro