MongoDB 默认是不会进行切割日志的,除非咱们配置了 logRotate = rename,而且重启 MongoDB 服务,才会进行切割日志的,那么为了不实际中咱们一个日志文件过大,咱们须要对日志进行切割,有两个办法:linux
使用该命令时须要在 MongoDB 运行时指定日志文件路径。--logpath [file]
,或者在配置文件中指定。mongodb
use admin db.runCommand({logRotate:1})
首先咱们须要配置 MongoDB 参数 logRotate = reopen, logappend = true,而后经过 Linux 系统自带的 logrotate。配置文件放置在 /etc/logrotate.d/
, 切割配置文件示例:shell
/opt/mongodb/log/mongodb.log { rotate 180 daily size 100M olddir /opt/mongodb/log/oldlog copytruncate dateext compress notifempty missingok }
若是咱们的进程 id 是19555,那么咱们能够经过如下命令来切割日志的。只要咱们执行了该命令,日志就会当即进行切割。bash
kill -SIGUSR1 19555