温馨提示×

Ubuntu系统日志如何清理与维护

小樊
61
2025-08-20 13:35:44
栏目: 智能运维

一、清理方法

  1. 使用journalctl命令

    • 查看日志占用空间:journalctl --disk-usage
    • 按时间清理:sudo journalctl --vacuum-time=7d(保留7天内日志)。
    • 按大小清理:sudo journalctl --vacuum-size=500M(保留500MB以内日志)。
  2. 使用logrotate工具

    • 手动运行轮转:sudo logrotate -f /etc/logrotate.conf
    • 配置文件规则:编辑/etc/logrotate.d/下对应服务的配置文件(如/etc/logrotate.d/rsyslog),设置轮转周期(daily/weekly)、保留天数(rotate 7)、压缩(compress)等参数。
  3. 手动清理(谨慎操作)

    • 清空特定日志文件:sudo truncate -s 0 /var/log/syslog
    • 删除旧日志文件:sudo find /var/log -type f -name "*.log" -mtime +7 -delete(删除7天前日志)。
      注意:避免直接删除/var/log目录下所有文件,可能导致系统异常。

二、维护建议

  • 定期检查:通过journalctl --disk-usagels -lh /var/log监控日志占用情况,建议每周至少清理一次。
  • 备份重要日志:清理前通过cp /var/log/syslog /backup/备份关键日志。
  • 自动化管理:通过crontab设置定时任务,例如每天凌晨执行日志轮转:
    sudo crontab -e
    # 添加以下内容(每天0点执行)
    0 0 * * * /usr/sbin/logrotate /etc/logrotate.conf
    ```。  
    
    

三、工具对比

工具 适用场景 优势
journalctl 系统级日志(systemd管理) 按时间/大小精准清理,无需配置文件
logrotate 应用程序日志(如Nginx) 支持轮转、压缩、保留历史记录

0