轮换日志时的首选方法应该是什么 - 使用 daily 指令或将文件路径放入 cron.daily 中?

轮换日志时的首选方法应该是什么 - 使用 daily 指令或将文件路径放入 cron.daily 中?

在进行日志轮换时,我们有两个选择 -

  1. 在 logrotate 文件中使用 daily 指令 -
/var/log/wtmp {
    daily
    minsize 1M
    create 0664 root utmp
    rotate 1
}
  1. 将 logrotation 文件路径放入/etc/cron.daily/logrotate

哪种方法是首选方法?每种方法的优缺点是什么?

答案1

/etc/cron.daily/logrotate和轮换配置文件有不同的用途。

/etc/cron.daily/logrotate确保logrotate该工具每天运行一次(如果系统正常运行)。它还确定读取的配置文件/etc/logrotate.conf。由于后者通常包含 中的文件/etc/logrotate.d,因此您通常不需要修改它来添加新的配置文件 - 相反,将配置文件添加到/etc/logrotate.d.

轮换配置文件确定每个托管日志文件会发生什么情况。这在很大程度上与所说的无关/etc/cron.daily/logrotate;后者添加的主要约束是日志的轮换频率不能高于logrotate运行频率,因此在默认的每日设置下,日志的轮换频率不能高于每日。

在典型设置中,logrotate默认设置为每周轮换日志。如果你想改变这一点,改变/etc/cron.daily/logrotate是没有帮助的;即使您logrotate每分钟运行一次,它仍然只会每周轮换日志。要更改日志轮换的频率,您需要全局更改轮换配置本身,或者针对要每天轮换的每个日志文件更改轮换配置本身。

因此,您问题的答案是,要每天轮换日志文件,请daily在轮换配置的相关部分中指定指令。

相关内容