1

在使用 mongo 时,我的 /var/log/mongodb 目录下有巨大的日志文件(几个 Gs)。例子:

root@redis-frankfurt-production:/var/log/mongodb# ls -ltrh /var/log/mongodb/mongod.log*
-rw-r--r-- 1 root root 9.2G Aug 29 06:10 /var/log/mongodb/mongod.log.2016-08-29T10-29-04
-rw-r--r-- 1 root root 2.5G Aug 29 10:01 /var/log/mongodb/mongod.log.2016-08-29T14-03-30

此外,还有日志日志:

root@redis-frankfurt-production:/var/log/mongodb# ls -ltrh /var/log/mongodb/journal/
total 301M
-rw-r--r-- 1 mongodb mongodb 101M Jun 17 13:10 WiredTigerPreplog.0000000002
-rw-r--r-- 1 mongodb mongodb 101M Jun 17 13:10 WiredTigerPreplog.0000000001
-rw-r--r-- 1 mongodb mongodb 101M Jun 17 13:10 WiredTigerLog.0000000001

据我了解,日志日志用于在内存级别之间进行同步。/var/log/mongodb/mongod.log.* 下的日志是纯日志数据。据我所知,日志的日期不会随时间变化(最后修改日期)。

这是我的问题:是否可以删除旧的 /var/log/mongodb/mongod.log.* (不触及日志日志)?

谢谢!

4

1 回答 1

0

关于日志文件的信息很少。 https://docs.mongodb.com/manual/core/journaling/

  1. WiredTiger 会自动删除旧的日志文件,以仅维护从上一个检查点恢复所需的文件。
  2. 一旦文件大小限制达到 100MB,它会自动创建一个新的日志文件。

LOGROTATE :- 关于删除 mongo 日志文件,是的,您可以随时删除它们,但请确保有一个新文件,该文件具有与旧 mongo 日志文件相同的用户权限和相同的用户组。

要维护日志文件,请使用 logrotate dameon 进程,它会自动为您处理。它可以压缩以前的日志文件,压缩它们,也可以邮寄它们,并且可以删除超过一定年龄的文件。 http://www.linuxcommand.org/man_pages/logrotate8.html

   "/var/log/httpd/access.log" /var/log/httpd/error.log {
       rotate 5
       mail www@my.org
       size=100k
       sharedscripts
       postrotate
                                 /sbin/killall -HUP httpd
       endscript
   }

您可以在上面提到的链接中检查 logrotate 中输入的所有参数。

于 2016-08-31T11:39:40.430 回答