Mongo docs powiedzieć, że mogę:
- użyj sygnału -SIGUSR1 i zmień nazwę starego dziennika i włącz prąd
- użyj logrotate z systemu operacyjnego
Chcę logrotate systemu operacyjnego do spakowania starych plików i usuwania najstarszych, ale nie widzę sposobu, aby powiedzieć mongod procesowi zmiany bieżącego dziennika poza wysłaniem SIGUSR1.
Więc napisałem
/var/log/mongodb/*.log {
daily
rotate 5
compress
dateext
missingok
notifempty
sharedscripts
postrotate
/usr/bin/killall -SIGUSR1 mongod
/usr/bin/killall -SIGUSR1 mongos
endscript
}
do /etc/logrotate.d/mongo.
A teraz uzyskaj dobrze nazwane logi z logrotate i puste logi jak mongodb.log.2013-09-18T23-49-44
ślady przełączania SIGUSR1. Jak się tego pozbyć?