尊敬的客户:
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),建议重点限制:
systemd日志 ≤500MB
Nginx日志自动轮换
Docker日志限制100MB
保留至少20%的磁盘空间
这样基本不会再出现“硬盘满导致网站无法写入数据”的问题。

如果还是解决不了, 请看这一篇教程: Linux 系统清除日志的方法
05互联
2026-9-10