温馨提示×

centos cleanup如何安全做

小樊
47
2026-08-19 04:10:05
栏目: 智能运维

CentOS 上做系统清理(cleanup)时,核心原则是:只删“明确可删的”内容,不删系统关键文件。下面按「安全级别」给你一套常用、稳妥的做法,适用于 CentOS 7 / 8 / Stream


一、先做安全检查(强烈建议)

df -h
uname -r

确认:

  • 磁盘是否真的快满
  • 当前内核版本(避免误删正在用的内核)

二、安全清理 YUM / DNF 缓存(最常见)

1️⃣ 清理软件包缓存

# CentOS 7
yum clean all

# CentOS 8 / Stream
dnf clean all

安全

  • 只删除下载的 rpm 缓存
  • 不影响已安装软件

2️⃣ 删除旧内核(⚠️小心)

⚠️ 不要删当前正在用的内核

查看当前内核

uname -r

查看已安装内核

# CentOS 7
rpm -qa | grep kernel

# CentOS 8+
dnf list installed | grep kernel

安全删除旧内核(推荐方式)

# CentOS 7
package-cleanup --oldkernels --count=2

# CentOS 8+
dnf remove $(dnf repoquery --installonly --latest-limit=-2 -q)

安全

  • 保留当前 + 1 个备用内核
  • 防止升级失败无法回滚

三、清理日志(journal / /var/log)

1️⃣ systemd journal 日志

journalctl --disk-usage
journalctl --vacuum-time=7d
# 或
journalctl --vacuum-size=500M

安全

  • 只删历史日志
  • 不影响系统运行

2️⃣ 清理 /var/log 旧日志

ls -lh /var/log

安全删除:

rm -f /var/log/*.log-*
rm -f /var/log/messages-*
rm -f /var/log/secure-*

⚠️ 不要删

  • 正在写的文件(messages、secure、cron)
  • 文件夹本身

四、清理临时文件

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

安全

  • 系统重启后 /tmp 本身会被清
  • 注意:如果有程序正在用 /tmp,先确认

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

1️⃣ 查找大于 500MB 的文件

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

2️⃣ 查找大目录

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

安全

  • 只查看,不自动删
  • 人工判断再删

六、Docker / 容器相关(如果有)

docker system df
docker system prune -f

⚠️ 会删除:

  • 未使用的容器
  • 未使用的镜像
  • 构建缓存

✅ 生产环境 先确认


七、不建议做的危险操作 ❌

❌ 删除:

  • /usr
  • /lib
  • /lib64
  • /boot 下当前内核
  • /var/lib 下的数据库目录(MySQL、PostgreSQL 等)

❌ 使用:

rm -rf /*

八、推荐的安全清理脚本(示例)

#!/bin/bash
echo "Cleaning yum cache..."
yum clean all

echo "Cleaning old kernels..."
package-cleanup --oldkernels --count=2

echo "Cleaning journal logs..."
journalctl --vacuum-time=7d

echo "Cleaning tmp..."
rm -rf /tmp/* /var/tmp/*

echo "Done."

九、如果你愿意,我可以:

  • ✅ 根据你的 CentOS 版本 给精确命令
  • ✅ 根据你 df -h 输出帮你判断该清哪里
  • ✅ 给你 生产服务器专用清理方案

你可以直接贴:

cat /etc/centos-release
df -h

0