在logrotate联机帮助页中,他们说:
“通常,logrotate作为每日cron作业运行”。
这是否意味着logrotate使用cron(或由cron执行)? 如果是这样,这是否意味着如果我不通过crontab配置cron作业(例如),logrotate将不起作用?
答案 0 :(得分:2)
您无需cron即可手动运行logrotate。
logrotate <configuration file>
但是,如果要基于计划的运行logrotate,是的,您将需要cron。
您的程序包管理器应在 /etc/cron.daily/logrotate 中创建默认计划,该计划以默认的 /etc/logrotate.conf 配置运行logrotate。您还可以将自定义配置放在 /etc/logrotate.d / 中,因为默认配置中包含一行,其中包括此目录中的所有配置。
include /etc/logrotate.d
如果要使用自定义时间表运行logrotate,可以将cron作业放置在 /etc/cron.d / 中。
例如,这将每天两点使用/etc/custom-logrotate.conf配置触发logrotate。
0 2 * * * root /usr/sbin/logrotate /etc/custom-logrotate.conf
如果需要有关cron表达式的帮助,请结帐crontab guru。
答案 1 :(得分:0)
是的,正常情况下,cron每天都会执行logrotate。 我依赖你的Linux发行版,但正常情况是让cron运行它。
您可以检查文件是否为 /etc/cron.daily/logrotate 如果是这种情况,你发行版使用cron来运行logrotate。
如果您使用的是docker,这可能会带来一些问题,目前cron不会在容器内运行。