mongodb - 如何每天拆分文件“mongod.log”?
问题描述
在这里,我使用 mongodb 数据库为我的应用程序存储数据。但是mongodb在/var/log/mongodb/logFileName
文件名文件夹中创建的日志mongod.log
非常大。阅读它并不容易。因为它的大小989 mb
。我已经搜索过它并找到了一种方法来做到这一点logRotate
,之后我发现如何在 mongodb 文档中应用它,日志轮换上有一个主题。我已经应用了解决方案,但它不会创建任何新文件,也不会保存旧文件。这个链接是我正在关注的。但是今天我检查了我的 mongodb 日志文件是空的,它将在晚上 11:55:01 pm 最后一次修改。但是昨天我什么也不做,也没有使用该应用程序。
第二个解决方案,我也在 mongodb slack 频道链接上发布了它:-
我也尝试过这个解决方案。我改变了我的配置文件/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
}
但它不会每天创建日志。为什么?
现在请你告诉我我将如何每天将巨大的文件分成几部分?
解决方案
首先,您指定了诸如 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
}
请注意,旋转参数在这里很重要。我们将它保持在高位,这样它就不会在达到轮换限制后删除日志。
推荐阅读
- java - Java Firebase Admin SDK 在代理后面连接
- java - 使用相同的 TCP 端口接受和连接
- qt - QObjectPicker 减慢应用程序的速度
- apache-spark - 未应用 Hive PartitionFilter
- ubuntu - 如何通过“notify-send”和“crontab”在 ubuntu18.04 上设置通知?
- postgresql - 本地卷 K8s 上的性能 Postgresql
- java - 缺少工件 Maven Nexus
- http-post - 带有参数数组的 HTTP PUT
- asp.net-mvc - 在 asp.net mvc 中为@Html.Pager 设置样式
- python - Python如何杀死根子进程