上一篇 下一篇 分享链接 返回 返回顶部

CentOS磁盘满快速清理完整步骤

发布人: 发布时间:2 天前 阅读量:10

一、检查磁盘使用情况

使用以下命令确认磁盘分区占用率及大文件目录:

  • df -h:查看各分区使用百分比、已用和可用空间。
  • du -sh /* | sort -rh | head -10:从根目录开始,找出占用空间最大的前10个目录。

二、清理YUM缓存

YUM会保留下载的软件包缓存,长期累积占用大量空间。执行以下命令:

yum clean all

该命令会清除所有缓存文件(/var/cache/yum/)。

三、清理系统日志

rsyslog、journald等日志文件常位于/var/log/下。推荐操作:

  • 清空大日志文件truncate -s 0 /var/log/messages /var/log/secure(需根据实际文件调整)。
  • 控制journal日志大小
    journalctl --vacuum-size=200M # 保留最近200MB日志
    journalctl --vacuum-time=7d # 保留最近7天日志
  • 清理旧日志归档rm -rf /var/log/*.gz /var/log/*.old(谨慎操作,确认无害后再执行)。

四、清理临时文件

/tmp和/var/tmp目录存放临时文件,可安全删除:

rm -rf /tmp/*
rm -rf /var/tmp/*

注意:切勿删除/tmp目录本身。

五、删除旧内核

系统升级后保留多个旧内核,占用/boot分区。使用以下命令清理:

package-cleanup --oldkernels --count=2

该命令保留最近2个内核,删除其余旧内核。若系统使用dnf(CentOS 8+),替换为:dnf remove $(dnf repoquery --installonly --latest-limit=-2 -q)

六、查找并清理大文件

定位超过特定大小的文件或目录:

  • 查找大于100MB的文件find / -type f -size +100M -exec ls -lh {} \;
  • 检查各用户家目录du -sh /home/* | sort -rh | head
  • 清理不再使用的Docker镜像/容器(若使用Docker):docker system prune -a -f

七、使用工具辅助分析

安装ncdu(交互式磁盘分析工具)可以直观地定位占用空间:

yum install ncdu -y && ncdu /

在界面中可逐层查看目录占比,按d键删除不需要的文件。

八、重启服务或系统(可选)

部分日志文件需服务重启后才释放句柄:systemctl restart rsyslog;如果清理后仍有空间不足提示,可reboot彻底释放已删除但被进程占用的文件。

注意事项:清理前建议确认应用是否使用临时/日志目录;删除内容前可用du -sh确认空间占用,避免误删重要数据。

目录结构
全文
企业微信 企业微信
微信公众号 微信公众号
服务热线: 400-790-1688
电子邮箱: 3310008520@qq.com