- 使用 -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 切换的迹象。如何摆脱后者?
processManagement.pidFilePath或者SystemD单元文件的PIDFile设置(对我来说是/var/run/mongodb/mongod.pid)。 - Gert van den Berg