Answers:
取决于您的操作系统。一些(全部?)Linux发行版都有一个目录/etc/cron.hourly
,您可以在其中放置每小时执行一次的cron作业。
其他人有一个目录/etc/cron.d/
。在那里,您可以将cron-jobs作为具有特殊crontab条目的cron-settings的任何特殊用户执行(并且必须指定用户名)。
如果使用这些脚本中的任何一个代替标准的日志轮转脚本,/etc/cron.daily/
则应在该脚本中复制该脚本并将cp /dev/null
其复制到原始位置。否则,将通过logrotate补丁更新将其重新激活。
为使每小时轮换正常,还应注意不要设置该dateext
指令。如果是这样,默认情况下,第一个旋转文件将获得当前日期的扩展名,例如YYYYMMDD。然后,第二次logrotate将在同一天激活,即使超过阈值,它也会跳过该旋转。size
原因是要旋转的文件的新名称已经存在,并且logrotate不会将内容追加到现有的旧文件中。例如,在RHEL和CentOS上,dateext
默认情况下在中给出指令/etc/logrotate.conf
。删除或注释该行之后,旋转的文件将简单地获得一个运行编号作为扩展名,直到达到该rotate
值为止。这样,一天可以执行多次轮换。
只是添加到Nils答案中,如果更改logrotate
Debian或Ubuntu盒子上脚本的位置,使用它可能会更安全,dpkg-divert
而不是仅复制文件并将其复制/dev/null
到原始位置,例如:
dpkg-divert --add --rename --divert /etc/cron.hourly/logrotate /etc/cron.daily/logrotate