Документы Монго говорят, что я могу:
- используйте сигнал -SIGUSR1 и переименуйте старый журнал и переключите текущий
- использовать logrotate из ОС
Мне нужна возможность logrotate операционной системы архивировать старые файлы и удалять старые, но я не вижу способа сообщить процессу mongod о переключении текущего журнала, кроме отправки SIGUSR1.
Так я написала
/var/log/mongodb/*.log {
daily
rotate 5
compress
dateext
missingok
notifempty
sharedscripts
postrotate
/usr/bin/killall -SIGUSR1 mongod
/usr/bin/killall -SIGUSR1 mongos
endscript
}
в /etc/logrotate.d/mongo.
А теперь получите файлы имен с логическими именами из logrotate и пустые файлы журналов, такие mongodb.log.2013-09-18T23-49-44
как следы переключения SIGUSR1. Как избавиться от последнего?