在Linux系统中,尤其是Ubuntu服务器上,应用程序和服务会不断生成日志文件。如果不加以管理,这些日志文件可能会无限增长,最终耗尽磁盘空间,导致系统崩溃。为了解决这个问题,logrotate应运而生——它是Linux中最常用、最强大的日志轮转工具之一。

logrotate 是一个用于自动轮转、压缩、删除和邮寄日志文件的实用程序。它可以根据时间(如每天、每周)或文件大小来触发操作,确保日志不会无限制增长。
在Ubuntu系统中,logrotate 默认已安装,并通过 cron 每天自动运行一次(通常在 /etc/cron.daily/logrotate 中配置)。
logrotate 的主配置文件位于:
/etc/logrotate.conf
此外,每个应用程序可以有自己的配置文件,存放在:
/etc/logrotate.d/
例如,Nginx、Apache、MySQL 等服务都会在此目录下创建自己的配置文件。
假设你有一个自定义应用,日志文件路径为 /var/log/myapp/app.log,你想实现以下需求:
你可以创建一个配置文件:
sudo nano /etc/logrotate.d/myapp
然后写入以下内容:
/var/log/myapp/app.log { daily missingok rotate 7 compress delaycompress notifempty create 644 myuser mygroup postrotate systemctl reload myapp.service > /dev/null 2>&1 || true endscript}不要等到第二天!你可以手动测试配置是否正确:
sudo logrotate -d /etc/logrotate.d/myapp
-d 表示“debug”模式,只会模拟运行,不会实际修改文件。
如果想强制立即执行轮转(用于测试),使用:
sudo logrotate -f /etc/logrotate.d/myapp
-f 表示“force”,强制轮转,即使未到时间或文件未满。
create 会失败postrotate 时,建议加上 || true 避免脚本错误中断整个流程/var/lib/logrotate/status 文件,它记录了每个日志上次轮转的时间通过合理配置 Ubuntu logrotate,你可以轻松实现自动化日志管理,避免磁盘爆满,提升系统稳定性。无论是新手还是运维工程师,掌握 logrotate教程 中的核心概念和配置方法,都是 Linux日志管理 的必备技能。记住,良好的 日志轮转配置 是专业运维的第一步!
本文适用于 Ubuntu 18.04 / 20.04 / 22.04 及其他基于 Debian 的 Linux 发行版。
本文由主机测评网于2025-12-18发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025129339.html