【发布时间】:2020-03-06 21:48:46
【问题描述】:
我尝试使用此处的说明在小型 VPS 服务器上设置日志轮换:https://docs.mongodb.com/manual/tutorial/rotate-log-files/。
但是,我看到 mongodb 日志文件非常大(> 1GB),并且自从我尝试设置轮换以来一直没有转换。这是我的mongodb.conf 文件中的内容:
dbpath=/var/lib/mongodb
logpath=/var/log/mongodb/mongodb.log
logappend=true
smallfiles = true
logRotate=reopen
bind_ip = 0.0.0.0
journal=true
replSet = rs0
oplogSize = 100
当我运行 db._adminCommand( {getCmdLineOpts: 1}) 时,我在 systemLog 下看到了这个:
"systemLog" : {
"destination" : "file",
"logAppend" : true,
"logRotate" : "reopen",
"path" : "/var/log/mongodb/mongodb.log"
}
我之前使用的是mongod 服务,而不是我目前使用的mongodb。似乎轮换对mongod 有效(尽管我不记得设置它),因为有一些大小相同的旧日志文件,这意味着轮换恰好在文件变得太大时发生,而不是比预定的时间间隔,我希望它像以前一样继续工作。查看mongod.conf文件,配置如下:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
首先,我不确定为什么语法不同。我还在 mongo 中运行了db.runCommand( { logRotate : 1 } ) 命令,尽管我相信这是一次轮换。从mongodb.conf 文件和命令行选项,我认为它应该可以工作。还有什么要补充的吗?
【问题讨论】:
标签: mongodb ubuntu-18.04 logrotate