在这里,我正在为我的应用程序使用mongodb数据库来存储数据。但是mongodb在/var/log/mongodb/logFileName
文件夹中以文件名mongod.log
创建的日志非常大。读起来并不容易。因为它的大小为989 mb
。我进行了搜索,找到了一种通过logRotate
执行此操作的方法,此后,我发现了如何在mongodb文档中应用该方法,日志轮换上有一个主题。我已经应用了解决方案,但是它不会创建任何新文件,也不会保存旧文件。我正在遵循此link的要求。但是今天我检查我的mongodb日志文件为空,它将在晚上11:55:01 pm进行最后修改。但是昨天我什么也不会做,并且无法使用该应用程序。
第二个解决方案,我也将其发布在mongodb松弛频道link上:-
我也尝试过这种解决方案。
我在配置文件/etc/mongod.conf
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
logRotate: reopen
我还在文件/etc/logrotate.d/mongod
中更改了一些数据,例如
/var/log/mongodb/*.log {
daily
rotate 30
size 50M
compress
dateext
missingok
notifempty
sharedscripts
postrotate
/bin/kill -SIGUSR1 `cat /var/lib/mongodb/mongod.lock 2> /dev/null` 2> /dev/null || true
endscript
}
,但它不会每天创建日志。为什么?
现在,您能告诉我如何将大文件每天分割成几部分吗?
答案 0 :(得分:0)
首先,您指定了诸如dateext之类的参数并将其留空。保持您的配置简单,首先使其以最简单的方式工作,然后就可以对其进行优化。
例如
/var/log/mongodb/*.log {
daily
rotate 50
size 50M
postrotate
/bin/kill -SIGUSR1 `cat /var/lib/mongodb/mongod.lock 2> /dev/null` 2> /dev/null || true
endscript
}
请注意,rotate参数在这里很重要。我们将其保持在较高的水平,以便在达到旋转限制后不会删除日志。