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

Daw*_*ith 1 cron logrotate

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

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

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

Ste*_*itt 5

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

\n

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

\n

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

\n

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

\n

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

\n