VPS磁盘爆满急救指南:5步找出并清理空间杀手


导读:小磁盘VPS最怕的就是空间跑满:数据库写不进、网站直接500。本文教你用几条命令快速定位占用大头,并清理出几个G的空间,最后附上预防方案。

一、先看全局:df -h

df -h

重点看 / 分区的Use%。如果已经100%,先别慌,Linux会为root保留5%的保留块,紧急情况下还能写入少量文件做清理。

二、定位大目录:du排序

du -h --max-depth=1 / 2>/dev/null | sort -rh | head -10

这条命令按大小倒序列出根目录下各一级目录,通常 /var、/root、/www 是重灾区。接着对可疑目录再钻一层:

du -h --max-depth=1 /var | sort -rh | head

三、常见空间杀手与清理命令

1. 系统日志:journalctl 日志经常悄悄涨到几个G。

journalctl --disk-usage
journalctl --vacuum-size=100M

2. apt缓存:装过的软件包都留着。

apt clean

3. /var/log下的旧日志:

du -sh /var/log
rm -f /var/log/*.gz /var/log/*.1

4. 邮件队列:cron任务的输出会堆在 /var/mail/root,很多人不知道。

du -sh /var/mail
cat /dev/null > /var/mail/root

5. 自己留下的备份包和安装包:/root、/home、/tmp 里翻一翻,旧的 .tar.gz 和 .deb 直接删。

四、装了Docker的机器要额外清理

docker system df
docker system prune -a

镜像、停止的容器、悬空卷一次清掉,经常能腾出几个G。注意 prune -a 会删除未使用的镜像,确认没有需要保留的再执行。

五、找出隐藏的大文件

find / -xdev -type f -size +100M -exec ls -lh {} ;

-xdev 限制在当前分区,避免扫到其他挂载盘。看到不认识的大文件,先确认用途再删。

六、预防:别让磁盘再爆第二次

  1. 监控告警:用cron每天检查磁盘,超过80%就发邮件或推送;
  2. 日志轮转:确认 logrotate 配置正常,日志自动压缩清理;
  3. 备份外置:备份文件不要留在本机,传到对象存储或另一台机器;
  4. 数据库binlog:MySQL的binlog记得设置过期时间,否则无限增长。

总结

磁盘清理的顺序是:df看全局 → du找大头 → 按清单清理 → find查漏。清完记得做预防,监控加轮转,小磁盘也能长期稳定运行。


手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

VPS线路质量自测实战:nexttrace、mtr、speedtest十分钟看懂数据

SSH安全加固六步走:让你的VPS远程登录不再裸奔

评 论
更换验证码