在本教程中,我们将向您展示如何在 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 官方网站.