首页 > 运维 > linux运维 > 正文

Linux日志怎么切割_Linux日志利用logrotate实现日志切割后自动清理的设置

蓮花仙者
发布: 2025-11-17 23:59:17
原创
621人浏览过
logrotate通过配置文件定义日志轮转规则,按时间或大小切割日志,保留指定数量旧文件并自动删除过期日志,结合cron定期执行,实现自动化管理。

linux日志怎么切割_linux日志利用logrotate实现日志切割后自动清理的设置

Linux系统中日志文件会随着时间不断增长,占用大量磁盘空间。为了避免日志撑满磁盘,通常使用logrotate工具实现日志的自动切割与清理。logrotate不仅能按天、大小或周期切割日志,还能在保留指定数量的旧日志后自动删除过期文件。

logrotate基本工作原理

logrotate是一个Linux自带的日志管理工具,通过配置文件定义规则,定期对日志进行轮转(切割)、压缩、删除等操作。它一般由cron每天自动执行,无需手动干预。

核心功能包括:

  • 按时间(每日、每周、每月)或文件大小触发切割
  • 重命名旧日志文件并添加序号或时间戳
  • 支持压缩归档以节省空间
  • 设置保留份数,超出后自动清理
  • 支持切割后执行自定义脚本(如重启服务)

配置logrotate实现自动切割与清理

以应用日志/var/log/myapp.log为例,设置每日切割,保留7份,超过自动删除。

1. 创建专属配置文件

/etc/logrotate.d/下创建配置文件,例如:

sudo vim /etc/logrotate.d/myapp
登录后复制

写入以下内容:

/var/log/myapp.log {
    daily
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    create 644 root root
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2>/dev/null || true
    endscript
}
登录后复制
2. 配置项说明
  • daily:每天轮转一次
  • missingok:日志文件不存在时不报错
  • rotate 7:只保留最近7个轮转文件,第8个自动删除
  • compress:启用压缩(.gz格式)
  • delaycompress:延迟压缩,最新一份不立即压缩(配合daily使用)
  • notifempty:日志为空时不轮转
  • create 644 root root:创建新日志文件,并设置权限和属主
  • postrotate ... endscript:轮转后执行的命令,常用于通知服务重新打开日志文件

测试与验证配置

配置完成后,建议先手动测试是否生效。

PatentPal专利申请写作
PatentPal专利申请写作

AI软件来为专利申请自动生成内容

PatentPal专利申请写作 13
查看详情 PatentPal专利申请写作
1. 模拟运行(预览)

使用-d参数查看调试信息:

logrotate -d /etc/logrotate.d/myapp
登录后复制

该命令不会实际执行,仅显示将要进行的操作。

2. 强制执行一次轮转

确认无误后可强制运行:

logrotate -f /etc/logrotate.d/myapp
登录后复制

执行后检查/var/log/目录下是否生成了myapp.log.1.gz等文件。

3. 查看历史状态

logrotate记录每次运行状态在:

/var/lib/logrotate/status
登录后复制

可用以下命令查看:

cat /var/lib/logrotate/status | grep myapp
登录后复制
基本上就这些。只要配置好rotate N和合适的周期,logrotate就能自动完成切割与清理,避免日志堆积。关键是确保rotate数值合理,并定期检查磁盘使用情况。

以上就是Linux日志怎么切割_Linux日志利用logrotate实现日志切割后自动清理的设置的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号