每 2 小时轮换一次日志

每 2 小时轮换一次日志

我正在尝试每 2 小时生成一次 httpry 日志。我将其添加到我的logrotate.conf文件中:

/var/log/httpry/*.log {
    rotate 1
    weekly
    create 640 root admin
    missingok
    notifempty
}

我尝试将每周更改为每小时(仍然需要每 2 小时),但它不起作用。我阅读将脚本从 cron.daily 复制到 cron.hourly 但我所有的 cron 文件都是空的。

如何每 2 小时创建一个新的日志文件?

答案1

我以前见过这个技巧在单独的博客:

为 logrotate 创建一个配置文件,让我们调用它httpry.conf

/var/log/httpry/*.log {
    size 2
    rotate 84
    compress
    missingok
    copytruncate
}

然后从 cron(可能需要位于 root 的 crontab 中,具体取决于日志文件的权限和所有权),包含以下内容的 crontab:

0 */2 * * * logrotate -f /path/to/httpry.conf

编辑:描述 OP 的 crontab 编辑

可以通过发出 为您的用户帐户创建 crontab crontab -e。如果您想以 root 身份编辑特定用户的 crontab:crontab -e user或在某些系统上crontab -e -u user。然后,您将进入一个编辑器,它允许您编辑 crontab,并且写入文件将检查 crontab 是否有错误(如果不正确则给出错误)或安装 crontab 如果正确。

正如他在博客中所描述的,该rotate 84选项是保留一周的日志。 (24/2 小时间隔 = 每天 12 个日志,12 * 7 = 84 .. 或 1 周的日志)。

相关内容