千家信息网

MongoDB日志轮转

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,在配置文件中添加参数logpath=/data/app_data/mongodb/log/mongodb.log logappend=trueWindows下只有这种日志轮转方式> use admin
千家信息网最后更新 2024年11月17日MongoDB日志轮转

在配置文件中添加参数

logpath=/data/app_data/mongodb/log/mongodb.log logappend=true


Windows下只有这种日志轮转方式

> use admin;switched to db admin> db.runCommand({logRotate : 1}){ "ok" : 1 }


Linux下还可以通过设置定时任务每天凌晨轮转日志

0 0 * * * /bin/kill -SIGUSR1 `cat /data/app_data/mongodb/data/mongod.pid`



查看日志

-rw-r--r-- 1 mongod mongod  13M Apr  1 20:47 mongodb.log-rw-r--r-- 1 mongod mongod 332K Dec 20  2013 mongodb.log.2013-12-19T16-00-01-rw-r--r-- 1 mongod mongod 1.7M Dec 21  2013 mongodb.log.2013-12-20T16-00-01-rw-r--r-- 1 mongod mongod 1.9M Dec 22  2013 mongodb.log.2013-12-21T16-00-01-rw-r--r-- 1 mongod mongod 2.3M Dec 23  2013 mongodb.log.2013-12-22T16-00-02-rw-r--r-- 1 mongod mongod 2.3M Dec 24  2013 mongodb.log.2013-12-23T16-00-01-rw-r--r-- 1 mongod mongod 2.7M Dec 25  2013 mongodb.log.2013-12-24T16-00-01-rw-r--r-- 1 mongod mongod 2.5M Dec 26  2013 mongodb.log.2013-12-25T16-00-01


轮转后的日志会以UTC时间戳为文件名后缀。与本地时间有一定的时差。例如这里的16就应该是北京时间的16+8=24即0点



可以使用系统自带的日志轮转工具logrotate对MongoDB日志进行轮转

/etc/logrotate.d/mongodb

/data/app_data/mongodb/log/*.log {       daily       rotate 10       copytruncate       delaycompress       compress       notifempty       missingok       postrotate          /bin/kill -USR1 `cat /data/app_data/mongodb/data/mongod.pid 2>/dev/null` 2> /dev/null|| true       endscript}









参考文档:

http://docs.mongodb.org/v2.4/tutorial/rotate-log-files/


0