- A+
所属分类:mongodb
MongoDB默认情况下不会自动的切换轮转日志的,这将会导致日志日渐增大,在繁忙的业务下,日志增长量非常大的。如此之大的日志文件,查看某天的日志也不太方便。如是,需要对mongodb 日志文件进行切换,保留7天。
SIGUSR1 方法
1 2 |
# kill -SIGUSR1 <mongod process id> # find /data/mongodb_data/log/mongodb.log.* -mtime +7 -delete |
该方法只能在Linux系统下进行。
mongo logRotate 命令方法
1 2 |
use admin db.runCommand( { logRotate : 1 } ) |
需要在mongos,mongod,config server运行。
该方法是Windows系统下的唯一方法。
Syslog Log Rotation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# vi /etc/logrotate.d/mongodb /opt/mongodb/log/mongodb.log { daily rotate 7 compress dateext missingok notifempty sharedscripts copytruncate postrotate /bin/kill -SIGUSR1 `cat /data/mongodb_data/mongod.lock 2> /dev/null` 2> /dev/null || true endscript } |
1 |
# logrotate -f /etc/logrotate.d/mongodb |
logrotate可参见《logrotate日志管理工具》。
mongodb bug
不过mongodb的稳定性差强人意。在日志轮转中也会导致mongodb进程终止的。
具体内容可以查看下mongodb bug系统。

微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~