温馨提示×

怎么安全清理CentOS磁盘

小樊
59
2026-07-08 21:36:33
栏目: 智能运维

在 CentOS 上安全清理磁盘,建议按「先分析 → 再清理 → 最后确认」的顺序来,避免误删系统或业务数据。下面给你一套常用且安全的做法,适用于 CentOS 7 / 8 / Stream。


一、先确认磁盘使用情况(不要一上来就删)

1️⃣ 查看整体磁盘占用

df -h

2️⃣ 找出哪个目录占用最多

du -h --max-depth=1 / 2>/dev/null | sort -hr | head -20

常见“重灾区”:

  • /var/log
  • /var/cache
  • /tmp
  • /home
  • /var/lib/docker(如果用 Docker)

二、安全清理日志(最安全、收益最大)

1️⃣ 清理 systemd 日志(推荐)

journalctl --disk-usage
journalctl --vacuum-time=7d

或限制大小:

journalctl --vacuum-size=500M

2️⃣ 清理 /var/log

安全做法:清空而不是删除

truncate -s 0 /var/log/messages
truncate -s 0 /var/log/secure
truncate -s 0 /var/log/cron

⚠️ 不要直接 rm 日志文件,否则正在运行的程序可能写不进日志。


三、清理 YUM / DNF 缓存(安全)

CentOS 7

yum clean all

CentOS 8 / Stream

dnf clean all

缓存位置:

/var/cache/yum
/var/cache/dnf

四、清理临时文件(一般安全)

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

⚠️ 注意:

  • 不要删 /tmp 目录本身
  • 生产环境建议重启后再清

五、清理旧内核(⚠️ 谨慎)

查看当前内核

uname -r

查看已安装内核

rpm -qa | grep kernel

删除旧内核(CentOS 7)

package-cleanup --oldkernels --count=2

✅ 建议 至少保留 1~2 个旧内核


六、Docker / Podman 用户必看(非常占空间)

Docker

docker system df
docker system prune -f

⚠️ 会删除:

  • 未使用的容器
  • 未使用的镜像
  • 网络、缓存

七、查找大文件(精准清理)

find / -xdev -type f -size +500M 2>/dev/null

常见可清理:

  • 旧备份
  • sql / tar / zip
  • core dump 文件

八、最安全的一条“通用清理命令”

# 清理日志 + 缓存 + 临时文件
truncate -s 0 /var/log/messages /var/log/secure /var/log/cron
yum clean all
rm -rf /tmp/*

✅ 不动系统结构
✅ 不影响服务运行


九、⚠️ 千万别做的事

rm -rf /
rm -rf /var/log/*
❌ 删除 /usr/lib/lib64
❌ 删除正在运行的程序目录


十、如果你愿意,我可以帮你定制方案

你可以直接贴出:

df -h
du -h --max-depth=1 / 2>/dev/null | sort -hr | head -20

我可以 精确告诉你该删哪里、删多少、是否安全

0