Документи Монго кажуть, що я можу:
- використовуйте сигнал -SIGUSR1 і перейменовуйте старий журнал і перемикайте струм
- використовувати логротат з ОС
Я хочу, щоб система логротету ОС зберігала старі файли та видаляла найдавніші, але не бачу способу сказати процесу 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.
А тепер отримайте добре названі логіни з логротатних та порожніх журналів, як mongodb.log.2013-09-18T23-49-44
сліди перемикання SIGUSR1. Як позбутися останнього?