关于linux:使用logrotate每小时旋转文件一次?

Hourly rotation of files using logrotate?

我试图设置/ tmp / hr_logs /中的日志文件的日志轮转。 为了进行设置,我在Linux中使用了logrotate,我可以使用/etc/logrotate.conf中的以下配置每天对其进行旋转

1
2
3
  /tmp/hr_logs {
  daily
  rotate 4

使用此配置,文件将每天轮换,系统将保留4个日志文件副本,并附加日期[格式:-YYYYMMDD]

现在,我试图设置一组不同的日志文件,我需要每小时进行一次轮换,为此,我在logrotate.conf中完成了配置:

1
2
3
  /tmp/last_logs {
  hourly
  rotate 4

但这根本行不通吗? 有人可以指导我吗?


logrotate.conf的联机帮助页包含有关小时选项的重要建议:

Log files are rotated every hour. Note that usually logrotate is configured to be run by cron daily. You have to change this configuration and run logrotate hourly to be able to really rotate logs hourly.

如yellow1pl所指出的,解决方案是将文件/etc/cron.daily/logrotate复制到/etc/cron.hourly/目录中。 这至少对Debian以及可能的某些Debian衍生版本有效。


每日日志旋转有/etc/cron.daily/logrotate脚本。 但是,默认情况下/etc/cron.hourly/目录中没有此类脚本。 复制此脚本,它应该可以正常工作。