logrotate是否依赖于cron?

问题描述 投票:1回答:2

在logrotate联机帮助页中,他们说:

“通常,logrotate作为每日cron作业运行”。

这是否意味着logrotate使用cron(或由cron执行)?如果是这样,这是否意味着如果我不通过crontab配置cron作业(例如),logrotate将不起作用?

cron logrotate
2个回答
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


0
投票

是的,正常情况下,cron每天都会执行logrotate。我依赖你的Linux发行版,但通常是让cron运行它。

您可以检查是否有文件/etc/cron.daily/logrotate如果是这种情况,您发行版使用cron来运行logrotate。

如果你使用的是docker,这会带来一些问题,目前cron不会在容器内运行。

© www.soinside.com 2019 - 2024. All rights reserved.