与 Linux Logrotate 混淆

Confusion with Linux Logrotate

有一个 linux mongo 实例,其中设置了 mongo 对数旋转:

/etc/logrotate.d/mongodb

/var/log/mongodb/mongod.log {
   rotate 7
   daily
   size 500M
   copytruncate
   missingok
   create 0600 mongodb mongodb
   dateext
   delaycompress
   compress
}

但是/etc/logrotate.conf文件有如下配置:

weekly

su root syslog

rotate 4

create

include /etc/logrotate.d

/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

这里的问题是,mongo logrotation 会按照 /etc/logrotate.d/mongodb 中指定的那样每天发生还是每周发生一次它已在 /etc/logrotate.conf ?

中指定

另外,如果通过 cron 确实发生了 logrotation,我该如何 know/ensure?

logrotate 必须是 运行 by cron。在 Ubuntu 18.04 cron 运行 秒 logrotate 每天,查看 /etc/crontab/etc/cron.daily。您也可以手动 运行 它。

全局 weekly 是默认值,/etc/logrotate.d/mongodbdaily 覆盖它。