如何在 Ubuntu 16.04 LTS 上安装 Logrotate

在本教程中,我们将向您展示如何在 Ubuntu 16.04 LTS 上安装和配置 Logrotate。 对于那些不知道的人,Logrotate 有助于管理您的日志文件。 它可以定期读取、最小化、备份、创建新的日志文件,以及基本上你可能想要对它们做的任何事情。 这通常用于帮助防止任何单个日志文件的大小变得笨拙。 它通常也用于删除旧的日志文件,以免填满服务器的硬盘。 Logrotate 最重要的功能是自动日志轮换、日志压缩、日志删除和通过电子邮件发送日志文件。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示在 Ubuntu 16.04 (Xenial Xerus) 服务器上逐步安装 Logrotate。

先决条件

  • 运行以下操作系统之一的服务器:Ubuntu 16.04 (Xenial Xerus)。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一种 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

在 Ubuntu 16.04 LTS 上安装 Logrotate

步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt-get 终端中的命令。

sudo apt-get update sudo apt-get upgrade

步骤 2. 在 Ubuntu 上安装 Logrotate。

要安装 Logrotate,只需使用您的包管理器:

sudo apt-get install logrotate

验证安装是否成功:

sudo logrotate

步骤 3. 配置 Logrotate。

logrotate 的主要配置文件是 /etc/logrotate.conf 而特定于应用程序的配置文件存储在 /etc/logrotate.d 目录。 库存 Ubuntu,您放入的任何配置文件 /etc/logrotate.d 将每天运行一次。 日志通常每天轮换一次或更少(Apache Ubuntu 中的默认值实际上是每周一次)。 让我们看看 Apache在 Ubuntu 中的默认值 – /etc/logrotate.d/apache2

/var/log/apache2/*.log {         weekly         missingok         rotate 52         compress         delaycompress         notifempty         create 640 root adm         sharedscripts         postrotate             /etc/init.d/apache2 reload > /dev/null         endscript         prerotate             if [ -d /etc/logrotate.d/httpd-prerotate ]; then                      run-parts /etc/logrotate.d/httpd-prerotate;              fi;          endscript }

这将轮换 /var/log/apache2 中以“.log”结尾的所有文件。 这就是为什么当我们创建一个新的 Apache 虚拟主机,我们通常将日志放在 /var/log/apache2 中。 Logrotate 会自动管理日志文件! 让我们来看看这些选项:

  • 每周:每周轮换一次日志。 可用选项包括每日、每周、每月和每年。
  • 失踪: 如果没有找到 *.log 文件,不要惊慌
  • 旋转 52:在删除旧日志文件之前保留 52 个文件(默认为 52 周,或一年的日志!)
  • 压缩: 压缩 (gzip) 日志文件
    • 延迟压缩:延迟压缩直到第二次旋转。 因此,您将拥有一个当前日志、一个未压缩的旧日志,然后是一系列压缩日志。
    • 压缩命令:设置用于压缩的命令。 默认为 gzip。
    • 解压命令: 设置用于解压缩的命令。 默认为gunzip。
  • 通知空: 不要旋转空文件
  • 创建 640 根管理员:创建具有设置权限/所有者/组的新日志文件,此示例使用用户创建一个文件 root 和组 adm. 在许多系统中,它将是 root 对于所有者和组。
  • 共享脚本: 轮换所有日志后运行 post-rotate 脚本。 如果未设置,它将在每个匹配文件旋转后运行 post-rotate。
  • 后旋转: 旋转完成后运行的脚本。 在这种情况下, Apache 被重新加载,因此它写入新创建的日志文件。 重新加载 Apache (优雅地)让任何当前连接在重新加载和设置要写入的新日志文件之前完成。
  • 预旋转:在日志轮换开始之前运行。

有关更多数据和配置选项,您可以查看 logrotate 手册页:

man logrotate

恭喜! 您已成功安装 Logrotate。 感谢您使用本教程安装 Logrotate 以管理 Ubuntu 16.04 LTS (Xenial Xerus) 系统上的日志。 如需其他帮助或有用信息,我们建议您查看 Logrotate 官方网站.

Save