ホームページ  >  記事  >  データベース  >  MongoDB 日志切换

MongoDB 日志切换

WBOY
WBOYオリジナル
2016-06-07 16:37:121003ブラウズ

MongoDB默认情况下不会自动的切换轮转日志的,这将会导致日志日渐增大,在繁忙的业务下,日志增长量非常大的。如此之大的日志文件,查看某天的日志也不太方便。如是,需要对mongodb 日志文件进行切换,保留7天。 SIGUSR1 方法 # kill -SIGUSR1 # find /data/

MongoDB默认情况下不会自动的切换轮转日志的,这将会导致日志日渐增大,在繁忙的业务下,日志增长量非常大的。如此之大的日志文件,查看某天的日志也不太方便。如是,需要对mongodb 日志文件进行切换,保留7天。

SIGUSR1 方法

# kill -SIGUSR1 
# find /data/mongodb_data/log/mongodb.log.* -mtime +7 -delete
该方法只能在Linux系统下进行。

mongo logRotate 命令方法

use admin
db.runCommand( { logRotate : 1 } )
需要在mongos,mongod,config server运行。 该方法是Windows系统下的唯一方法。

Syslog Log Rotation

# 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
}
# logrotate -f /etc/logrotate.d/mongodb
logrotate可参见《logrotate日志管理工具》。

mongodb bug

不过mongodb的稳定性差强人意。在日志轮转中也会导致mongodb进程终止的。 mongodb-log 具体内容可以查看下mongodb bug系统。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。