05互联

首页>05互联 >怎么清理Ubantu系统产生的垃圾日志

怎么清理Ubantu系统产生的垃圾日志

来源:05互联 发布时间:2026/9/10 16:39:53

尊敬的客户:

Ubuntu服务器运行网站时,最常见导致硬盘被占满、网站无法写入数据的原因就是:

  • /var/log 日志文件过大

  • systemd 日志缓存过多

  • Nginx/Apache访问日志累积

  • Docker日志无限增长

  • 网站缓存、临时文件堆积

下面是一套比较安全的清理方案。


一、先查看Ubuntu硬盘使用情况

查看磁盘:

df -h

示例:

Filesystem      Size  Used Avail Use%
/dev/sda1       80G   79G   0G   100%

如果达到 90%以上,就需要清理。

查看大文件:

sudo du -sh /* | sort -h

重点查看:

/var
/home
/tmp

二、清理Ubuntu系统日志(最常见)

1. 查看systemd日志大小

journalctl --disk-usage

例如:

Archived and active journals take up 5.6G

2. 清理7天以前日志

推荐:

sudo journalctl --vacuum-time=7d

意思:

只保留最近7天日志。


3. 按大小清理

例如只保留500MB:

sudo journalctl --vacuum-size=500M

如果服务器空间紧张,可以执行:

sudo journalctl --vacuum-size=100M

三、清理Ubuntu旧日志文件

查看日志目录:

sudo du -sh /var/log/*

如果看到:

syslog      10G
auth.log     5G
nginx       20G

可以清空:

sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/auth.log

或者:

sudo find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;

四、清理Nginx网站访问日志

如果你使用Nginx:

查看:

sudo du -sh /var/log/nginx/*

清理:

sudo truncate -s 0 /var/log/nginx/access.log
sudo truncate -s 0 /var/log/nginx/error.log

建议开启日志自动轮转:

编辑:

sudo nano /etc/logrotate.conf

设置:

rotate 7
weekly
compress

表示:

  • 每周轮换

  • 保留7份

  • 压缩旧日志


五、清理APT缓存

Ubuntu安装软件会留下缓存:

查看:

sudo du -sh /var/cache/apt

清理:

sudo apt clean

或者:

sudo apt autoclean

六、清理系统无用软件

删除不用的软件:

sudo apt autoremove

清理残留:

sudo apt autoclean

七、如果使用Docker(非常容易爆盘)

查看Docker日志:

docker system df

清理:

docker system prune

彻底清理:

docker system prune -a

注意:

会删除不用的镜像。


Docker日志位置:

/var/lib/docker/containers/

查看:

sudo du -sh /var/lib/docker/*

限制Docker日志:

创建:

sudo nano /etc/docker/daemon.json

加入:

{
"log-driver":"json-file",
"log-opts":{
"max-size":"100m",
"max-file":"3"
}
}

重启:

sudo systemctl restart docker

八、清理临时文件

查看:

du -sh /tmp

清理:

sudo rm -rf /tmp/*

九、自动每天清理日志(推荐服务器)

创建脚本:

sudo nano /root/clear-log.sh

加入:

 /bin/bash

journalctl --vacuum-time=7d

find /var/log -type f -name "*.log" -mtime +7 -delete

apt clean

rm -rf /tmp/*

保存。

给予权限:

chmod +x /root/clear-log.sh

添加定时:

crontab -e

加入:

0 3 * * * /root/clear-log.sh

每天凌晨3点自动清理。


十、网站服务器推荐检查命令

每隔一段时间执行:

查看最大目录:

sudo du -xhd1 / | sort -h

查看最大文件:

sudo find / -type f -size +1G

一键快速释放空间(安全版)

如果网站已经打不开,可以先执行:

sudo journalctl --vacuum-size=200M

sudo apt clean

sudo rm -rf /tmp/*

sudo systemctl restart nginx

通常可以立即释放几百MB到几个GB空间。


对于Ubuntu运行网站服务器(Nginx + MySQL + PHP / Docker),建议重点限制:

  1. systemd日志 ≤500MB

  2. Nginx日志自动轮换

  3. Docker日志限制100MB

  4. 保留至少20%的磁盘空间

这样基本不会再出现“硬盘满导致网站无法写入数据”的问题。

如果还是解决不了, 请看这一篇教程: Linux 系统清除日志的方法


05互联

2026-9-10