配置 logrotate 的终极指导
一般来说,日志是任何故障排除过程中非常重要的一部分,但这些日志会随着时间增长。在这种情况下,我们需要手动执行日志清理以回收空间,这是一件繁琐的管理任务。为了解决这个问题,我们可以在 Linux 中配置 logrotate 程序,它可以自动执行日志文件的轮换、压缩、删除和用邮件发出。
我们可以配置 logrotate 程序,以便每个日志文件可以在每天、每周、每月或当它变得太大时处理。
logrotate 是如何工作的
默认情况下,logrotate 命令作为放在 /etc/cron.daily
中的 cron 任务,每天运行一次,它会帮助你设置一个策略,其中超过某个时间或大小的日志文件被轮换。
命令: /usr/sbin/logrotate
配置文件: /etc/logrotate.conf
这是 logrotate 的主配置文件。logrotate 还在 /etc/logrotate.d/
中存储了特定服务的配置。确保下面的那行包含在 /etc/logrotate.conf
中,以读取特定服务日志配置。
1 |
|
logrotate 历史: /var/lib/logrotate.status
重要的 logrotate 选项:
1 |
|
配置
让我们为我们自己的示例日志文件 /tmp/sample_output.log
配置 logrotate。
第一步:在 /etc/logrotate.conf
中添加以下行。
1 |
|
在上面的配置文件中:
- size 1k - logrotate 仅在文件大小等于(或大于)此大小时运行。
- create - 轮换原始文件并创建具有指定权限、用户和组的新文件。
- rotate - 限制日志文件轮转的数量。因此,这将只保留最近的 4 个轮转的日志文件。
- compress - 这将压缩文件。
第二步:通常,你需要等待一天才能等到 logrotate 由 /etc/cron.daily
执行。除此之外,你可以用下面的命令在命令行中运行:
1 |
|
在执行 logrotate 命令之前的输出:
1 |
|
在执行 logrotate 之后的输出:
1 |
|
这样就能确认 logrotate 成功实现了。
作者简介:
大家好!我是 Manmohan Mirkar。我很高兴见到你们!我在 10 多年前开始使用 Linux,我从来没有想过我会到今天这个地步。我的激情是帮助你们获取 Linux 知识。谢谢你们在这!
via: http://www.linuxroutes.com/configure-logrotate/
作者:Manmohan Mirkar 译者:geekpi 校对:wxy