首页主机资讯Ubuntu系统日志文件怎么清理

Ubuntu系统日志文件怎么清理

时间2025-11-22 03:11:05发布访客分类主机资讯浏览764
导读:Ubuntu 系统日志清理与维护指南 一 快速释放空间 查看 systemd 日志占用:执行命令:journalctl --disk-usage。 按大小清理:例如保留最近 100MB,执行:sudo journalctl --vacuu...

Ubuntu 系统日志清理与维护指南

一 快速释放空间

  • 查看 systemd 日志占用:执行命令:journalctl --disk-usage
  • 按大小清理:例如保留最近 100MB,执行:sudo journalctl --vacuum-size=100M
  • 按时间清理:例如仅保留最近 7 天,执行:sudo journalctl --vacuum-time=7d
  • 清空而不删除日志文件:例如清空 /var/log/syslog,执行:sudo truncate -s 0 /var/log/syslog(进程持有文件句柄时仍会继续写入)。
  • 谨慎操作:避免一次性删除 /var/log 下全部文件(如 sudo rm -rf /var/log/),以免影响正在写入的日志与故障排查。

二 安全清理 var log 目录

  • 定位大日志:执行:sudo du -h /var/log | sort -hr | head,找出占用空间最大的日志。
  • 清空指定日志:对确定的单个文件使用 truncate -s 0 /var/log/xxx.log,避免直接删除正在被进程写入的日志文件。
  • 批量清理旧文件(按时间):例如删除 30 天前的日志文件,执行:sudo find /var/log -type f -name “*.log” -mtime +30 -exec rm -f { } ; (请先确认不会影响正在运行的业务与审计)。
  • 清理压缩旧日志:例如删除 7 天前.gz 归档,执行:sudo find /var/log -type f -name “*.gz” -mtime +7 -delete

三 配置自动轮转避免再次膨胀

  • 编辑或新增配置:在 /etc/logrotate.d/ 下为服务创建配置,例如 /etc/logrotate.d/rsyslog
    /var/log/syslog {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 0640 root adm
    }
  • 立即执行一次轮转(用于测试):sudo logrotate -f /etc/logrotate.conf
  • 说明:大多数 Ubuntu 系统已预装并启用 logrotate,通过按天/按大小轮换并压缩,配合保留天数即可自动控制日志体积。

四 应用日志与长期维护

  • 应用日志:Node.js、Java、Nginx 等应用常将日志写入 /var/log/ 或应用目录。建议为应用配置日志轮转(如按日或按大小),或在应用内使用日志库(如 winston-daily-rotate-file)实现 maxSizemaxFiles 策略,避免无限增长。
  • 定时清理:如需定期清理历史压缩日志,可在 crontab 中添加任务,例如每周清理 7 天前.gz 文件:
    0 3 * * 0 find /var/log -type f -name “*.gz” -mtime +7 -delete
  • 风险提示:清理前确认日志不再用于审计或故障排查;对正在写入的日志优先使用 truncate -s 0 而非删除文件;生产环境建议先在测试环境验证命令与策略。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu系统日志文件怎么清理
本文地址: https://pptw.com/jishu/754061.html
debian系统sqlplus版本怎么查 清理Ubuntu系统临时文件的方法

游客 回复需填写必要信息