MongoDB 日志切换

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

[size=medium][b]1. SIGUSR1 方法[/b][/size]


# kill -SIGUSR1 <mongod process id>
# find /data/mongodb_data/log/mongodb.log.* -mtime +7 -delete

该方法只能在Linux系统下进行。

你可以配置下crontab 定时运行以上命令,具体方法可以参考[url=http://huaxiamian.iteye.com/blog/2171359]crontab定时运行程序[/url]

[size=medium][b]2. mongo logRotate 命令方法[/b][/size]


use admin
db.runCommand( { logRotate : 1 } )


需要在mongos,mongod,config server运行。
该方法是Windows系统下的唯一方法。(不过不建议线上环境的mongodb跑在windows下)

[size=medium][b]3.Syslog Log Rotation[/b][/size]


# 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可参见[url=http://www.ttlsa.com/linux/logrotate-log-management-tools/]《logrotate日志管理工具》[/url]。

[size=medium][b]mongodb bug[/b][/size]

不过mongodb的稳定性差强人意。在日志轮转中也会导致mongodb进程终止的。

转自并部分添加自己的感想: [url=http://www.ttlsa.com/mongodb/mongodb-rotate-log-files/]运维生存时间[/url]

[url=http://huaxiamian.cc]花下眠工作室[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值