前言
小服务器最容易遇到的问题就是磁盘不够用,尤其是 20G/40G 的小机子,跑几个 Docker 容器、加几个日志,很快就红了。
本文总结一套完整的磁盘清理流程,从排查到清理再到预防,按这个步骤来至少能腾出 30% 空间。
第一步:排查大文件
先搞清楚空间都去哪儿了。
查看整体使用情况
| |
找出最大的文件
| |
第二步:系统级清理
1. APT 缓存与旧包
| |
2. 系统日志
| |
3. 临时文件
| |
第三步:Docker 清理(重点!)
Docker 是磁盘大户,几个镜像和容器就几个 G 出去了。
查看 Docker 占用
| |
清理命令
| |
精准清理
| |
第四步:日志清理
应用日志、Nginx 日志时间久了会非常大。
Nginx 日志
| |
应用日志
| |
第五步:用户数据清理
检查用户目录下的垃圾文件:
| |
第六步:预防措施
清理完了之后,配置一些自动化策略防止下次再满。
1. 配置 logrotate
| |
/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
sharedscripts
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}
2. 限制 journald 日志大小
| |
| |
| |
3. 定时清理脚本
| |
总结
标准清理流程:
df -h看整体情况du -sh /*找大目录docker system prune -af清 Docker(通常能清最多)apt-get autoremove && apt-get clean清系统包journalctl --vacuum-time=1w清日志- 检查用户目录缓存
小服务器运维,磁盘清理是基本功。养成定期检查的习惯,比满了再救火要好得多 💪
