Logrotate Ubuntu 教程Logrotate Ubuntu 教程Logrotate Ubuntu 教程Logrotate Ubuntu 教程
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Logrotate Ubuntu 教程

发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 上使用 Logrotate

Logrotate是一个系统实用工具,用于管理Ubuntu上的日志文件。当任何系统处理大量服务器时,都会生成大量日志文件,从而消耗大量磁盘空间。 Logrotate 用于自动旋转、压缩或删除日志文件以节省磁盘空间。这里提到Logrotate的一些功能:

  • 当日志文件大小变大并达到特定限制时,它会激活。

  • 它在旋转旧文件后创建新的日志文件。

  • 它压缩日志文件。

  • 它在日志轮转后执行 shell 脚本。

  • 它会删除旧的轮换日志文件以节省磁盘空间。

在本教程中,您将学习如何在 Ubuntu 17.10 上使用此工具。

检查 Logrotate 版本

Ubuntu 上默认安装了 Logrotate。运行以下命令检查是否已安装。这里Logrotate的版本是3.11.0。

$ logrotate

Logrotate配置文件

Logrotate的配置信息存储在两个地方。其中之一是主配置文件,位于/etc/logrotate.conf。 它包含默认设置并使用include语句从另一个位置检索配置信息。另一个地方是包含所有服务和应用程序配置文件的目录,位于 /etc/logrotate.d 中。当系统中安装任何新软件包时,该软件包的日志轮换信息将存储在此位置。

从终端打开 logrotate.conf 。

$ nano /etc/logrotate.conf

将显示以下内容。您可以每小时、每天、每周、每月和每年轮换日志文件。这里,每周意味着每周配置日志文件。下一行表示日志文件由 root 和 syslog 组用户拥有。 Rotate 4 表示 Logrotate 将保留 4 周的日志文件备份,并且在轮换旧日志文件后将创建空日志文件。如果设置旋转 0,则所有旧日志文件将被删除。如果您想压缩日志文件,只需通过删除哈希符号来取消压缩行的注释即可。

如果您打开/etc/logrotate.d目录,则会出现以下列表,其中包含其他logrotate配置文件。

$ ls /etc/logrotate.d

运行命令打开apache2配置文件。用于配置设置的规则有多种类型。这里解释了其中一些。 missingok 表示如果日志文件丢失,则不会写入错误消息,notifyempty 表示如果日志文件为空,则不会旋转。 创建644 root root用于轮换后立即创建日志文件,作为root用户和具有特定权限模式的用户组root。

$ nano /etc/logrotate.d/apache2

创建示例配置文件

假设您要在 /home/ubuntu/logrotate.conf 位置创建一个配置文件,其中 logrotate 的设置将设置为:日志文件将每月轮换、轮换 10 次、压缩、省略如果缺少任何日志文件,则会出现错误消息,并在删除旧文件后创建日志文件。打开任何编辑器,添加以下设置选项并保存文件。这里,ubuntu是以用户名登录的。

/home/Ubuntu/logs/*.log {
    monthly
    missingok
    rotate 10
    compress
    create
}

运行以下命令创建一个名为 mylog.log 的日志文件,最初日志文件为空。

$ nano mylog.log

运行logrotate命令检查日志条目是否创建。

$ logrotate /home/ubuntu/logrotate.conf --state /home/ubuntu/logrotate-state --verbose

第一次执行上述命令后将出现以下输出。

现在,打开 logrotate-state 文件来检查文件中添加了哪些内容。由于尚未生成日志文件,因此将出现以下输出。

$ nano home/ubuntu/logrotate-state

运行以下命令强制轮转日志文件。但根据之前的输出,这里不会出现任何变化,因为轮换间隔设置为每月,并且这里没有超过时间段。

$ logrotate /home/ubuntu/logrotate.conf --state /home/ubuntu/logrotate-state
 --verbose --force

许多其他 logrotate 选项可用于配置日志文件。执行以下命令后,您将获得 logrotate 选项列表:

$ man logrotate

其他一些最常用的 logrotate 选项是 size、copytruncate、postrotate、maxage 和 compresscmd。这里将简要解释这些选项。

尺寸:

该选项用于设置日志文件大小的限制,当文件大小达到或超过限制时,logrotate 将旋转日志文件。

复制截断:

该选项用于创建原始日志文件的副本,并将原始日志文件大小截断为 0。以便与该特定日志文件相关的服务可以在原始文件中正确写入日志。

后旋转:

此选项用于在完成日志文件轮换后运行自定义 shell 脚本。

最大年龄:

该选项用于设置存储旧日志文件信息的持续时间。它设置保留日志文件的最大值(以天为单位),当超过 maxage 值时,所有日志文件将被删除。

压缩命令:

您可以使用不同的命令压缩日志文件。该选项用于指定压缩命令的类型。

阅读本教程后,您将能够使用 Logrotate 和不同的选项来正确管理日志文件。

更多信息

©2015-2025 Norria support@norria.com