CentOS磁盘满?三步快速清理指南
一、定位磁盘占用根源
执行 df -h 查看各分区使用率,确认哪个分区已满(如 / 或 /home)。然后使用 du -sh /* 2>/dev/null | sort -rh | head -10 列出根目录下最大10个目录,快速锁定罪魁祸首。
二、清理常见垃圾文件
1. 清理YUM缓存
运行 yum clean all 清除已下载的RPM包和元数据缓存,释放 /var/cache/yum 空间。
2. 清理日志文件
- 使用 journalctl --vacuum-time=3d 保留最近3天系统日志。
- 检查 /var/log 下大文件:ls -lhS /var/log/*.log,安全清空:cat /dev/null > /var/log/xxx.log,切勿直接rm删除。
- 配置 logrotate 确保日志自动轮转。
3. 清理临时文件
删除 /tmp 和 /var/tmp 下过期文件:find /tmp -type f -atime +7 -delete(保留最近7天访问的文件)。
4. 移除旧内核
运行 package-cleanup --oldkernels --count=2 保留最近2个内核,释放 /boot 空间。
5. 清理Docker(如有)
执行 docker system prune -af 删除停止容器、未使用网络和悬挂镜像。
三、查找并处理大文件
使用 find / -xdev -type f -size +100M -exec ls -lh {} \; 2>/dev/null 查找超过100MB的文件,人工确认是否可删除或迁移。例如:应用日志、数据库备份、下载文件等。
注意事项: 操作前建议备份重要数据;切勿直接删除 /var/log/wtmp、btmp 等系统文件;清理后使用 df -h 验证效果。