侧边栏壁纸
博主头像
Mr·Ldd Blog 博主等级

今天也是充满希望的一天!✍️

  • 累计撰写 51 篇文章
  • 累计创建 10 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux logrotate 自动管理和轮转日志文件工具部署

Mr·ldd
2025-07-03 / 0 评论 / 0 点赞 / 9 阅读 / 0 字

logrotate 是 Linux 系统中用于自动管理和轮转日志文件的工具,主要解决以下问题:

  • 日志膨胀:随着时间增长,日志文件会占用大量磁盘空间。
  • 文件过大:超大文件会影响性能,且不便于查看历史内容。
  • 归档需求:需要定期备份、压缩或删除旧日志。

核心功能

  1. 自动轮转
    按时间(天 / 周 / 月)或大小自动切割日志文件,例如将 app.log 转为 app.log.1app.log.2 等。
  2. 压缩归档
    轮转后的旧日志可自动压缩(如 .gz),节省存储空间。
  3. 过期删除
    自动删除指定天数前的日志,避免无限累积。
  4. 创建新文件
    轮转后自动创建新的空日志文件,不影响服务写入。

工作原理

logrotate 通过 配置文件定时任务 实现自动化:

  • 配置文件:定义日志文件路径、轮转规则(如每天一次)、保留数量等。
  • 定时任务:通常由 cron 每天触发一次,执行 logrotate 命令。

开始部署

  1. 安装nano
    yum install nano -y

image-qvUI.png

  1. #创建配置文件
    mkdir -p /root/logs
    sudo nano /root/logs/gobackup
  2. #编辑配置文件内容
#/root/.gobackup/gobackup.log是你日志文件的路径
/root/.gobackup/gobackup.log {
    # 达到 10MB 时分割
    size 10M  
    # 每天检查一次(即使未达大小)
    daily   
    # 保留 7 个历史日志
    rotate 7  
    # 压缩旧日志
    compress  
    # 日志不存在不报错
    missingok   
    # 空日志不分割
    notifempty  
    # 新日志权限:600(仅 root 可读写)
    create 600 root root  
}

然后Ctrl+X  保存

image-YjmP.png

  1. #强制执行检查配置是否有问题
    sudo logrotate -f /root/logs/gobackup

    执行后可以看到日志文件清空并压缩了

image-Evvr.png

0

评论区