Tài liệu Mongo nói rằng tôi có thể:
- sử dụng tín hiệu -SIGUSR1 và đổi tên nhật ký cũ và chuyển đổi hiện tại
- sử dụng logrotate từ hệ điều hành
Tôi muốn khả năng logrotate của HĐH để nén các tệp cũ và xóa các tệp cũ nhất, nhưng không có cách nào để nói quy trình mongod chuyển đổi nhật ký hiện tại ngoài việc gửi SIGUSR1.
Vì vậy, tôi đã viết
/var/log/mongodb/*.log {
daily
rotate 5
compress
dateext
missingok
notifempty
sharedscripts
postrotate
/usr/bin/killall -SIGUSR1 mongod
/usr/bin/killall -SIGUSR1 mongos
endscript
}
đến /etc/logrotate.d/mongo.
Và bây giờ có được các logfile được đặt tên tốt từ logrotate và các logfile trống mongodb.log.2013-09-18T23-49-44
như dấu vết của chuyển đổi SIGUSR1. Làm thế nào để thoát khỏi cái sau?