Debian 12 中的 Logrotate

Debian 12 中的 Logrotate

我已经在服务器上安装了 Debian 12,并安装了 nginx 服务。

但是,Debian 12 没有安装 logrotate 包。

我想知道这种情况的最佳实践,是否应该安装这个包并从 systemd-timer 调用它,或者是否存在其他方法使用 journald 轮换 nginx 日志。

答案1

apt install nginx logrotate

nginx 附带了一个示例 logrotate 配置。即使没有包含它,这也是一个非常流行的应用程序,并且有许多关于如何轮换其日志文件的文章。

包管理器有时对共享实用程序没有很强的依赖性。在这种情况下,每个带有日志文件的应用程序和 logrotate。允许选择:不是每个人都会使用它,如果它默认启用,有些人会感到惊讶。

当然,通过名称来请求它也很容易:在用于设置 http 服务器的自动化程序中安装这两个包。

答案2

Debian 12 使用 journalctl 日志记录。在 journalctl 日志记录中,日志轮换由日志系统本身管理。日志以二进制格式存储在日志文件中,通常位于 /var/log/journal 目录中。轮换过程涉及创建一组索引日志文件以有效管理日志条目。

编辑: Debian 中的 logrotate 软件包主要管理和轮换传统系统日志位置中的日志文件。它不直接处理 journald(systemd 使用的日志系统)管理的日志。

您还可以通过编辑文件中的以下选项来限制日志占用的存储空间/etc/systemd/journald.confSystemMaxUse=RuntimeMaxUse=:日志分别在持久存储(/var/log/journal)和内存存储(/run/log/journal)中应占用的最大空间量。SystemKeepFree= 和 RuntimeKeepFree=:定义应保留用于其他用途的磁盘空间百分比。 SystemMaxFileSize=RuntimeMaxFileSize=:控制日志条目在轮换之前应增长多少。 SystemMaxFiles=RuntimeMaxFiles=:控制要保留的日志文件的最大数量。

相关内容