Vì trang nam không trả lời câu hỏi của tôi và tôi không muốn thực hiện chu kỳ xoay vòng, tôi quyết định đặt câu hỏi ở đây.
Trang man cho logrotate đưa ra ví dụ sau:
"/var/log/httpd/access.log" /var/log/httpd/error.log {
rotate 5
mail www@my.org
size 100k
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
}
Tất cả các ví dụ với ký tự đại diện chỉ chứa một mục duy nhất. Bây giờ, điều tôi quan tâm là liệu cái này cũng được cho phép hay không:
/var/log/httpd/*.log /var/log/httpd/*/*.log {
# ... same as above
}
Đây là lý do: Tôi có nhiều vhost và tôi chia chúng ra bởi người dùng "sở hữu" các vhost đó. Vì các tệp nhật ký có thể đọc được trên thế giới, tôi muốn liên kết gắn một thư mục vào thư mục nhà của người dùng, nhưng giới hạn ở các tệp nhật ký mà người dùng "sở hữu", dễ dàng đạt được bằng cách tách nhật ký thành các thư mục (và liên kết -mounting yêu cầu chương trình đó anyway). Vì vậy, tôi đang tìm một giải pháp để xoay cả các tệp nhật ký bên dưới /var/log/httpd
cũng như tất cả các tệp nhật ký trong thư mục con của thư mục đó - mà không phải liệt kê từng thư mục con theo tên.
Nói chung, trang man không đưa ra manh mối nào cho dù có nhiều mục nhập cho các quy tắc ký tự đại diện hay chỉ cho các đường dẫn đầy đủ. Tôi đang sử dụng phiên bản logrotate 3.7.8-6 đi kèm với Debian "Squeeze", nhưng tôi cho rằng điều này không nhất thiết phải dành riêng cho phiên bản phân phối hoặc chương trình.