温馨提示×

centos cleanup有哪些误区

小樊
38
2026-09-21 09:05:49
栏目: 智能运维

在 CentOS(以及大多数 Linux 发行版)系统运维中,“清理(cleanup)”是常见操作,但很多管理员容易踩坑。以下是 CentOS 清理时的常见误区,以及对应的正确做法建议:


1. 盲目删除 /var/log 下的日志文件

误区:
直接 rm -f /var/log/* 或删除某个正在写入的日志文件。

问题:

  • 正在被进程占用的日志文件被删后,磁盘空间不会立即释放
  • 系统关键日志(如 messages、secure)丢失,排障困难

正确做法:

  • 使用 logrotate
  • 或清空而非删除:
    > /var/log/messages
    
  • 查找已删除但仍占空间的文件:
    lsof | grep deleted
    

2. 随意删除 yum / dnf 缓存

误区:
认为 yum clean all 一定安全,频繁执行。

问题:

  • 再次安装软件时需重新下载元数据,速度变慢
  • 在离线环境中可能导致无法安装

建议:

yum clean expire-cache   # 更安全

仅定期清理旧缓存即可。


3. 删除 /tmp 不考虑正在运行的进程

误区:
rm -rf /tmp/* 作为常规清理脚本。

问题:

  • 某些服务(如 MySQL、PHP、systemd)使用 /tmp
  • 可能导致服务异常或无法启动

建议:

  • 使用 tmpwatch / systemd-tmpfiles
  • 或仅清理老旧文件:
    find /tmp -type f -mtime +7 -delete
    

4. 误删内核(kernel)文件

误区:
清理 /boot 时删除“看起来旧”的 vmlinuz、initramfs

问题:

  • 删除当前正在使用的内核 → 系统无法启动
  • GRUB 配置损坏

正确做法:

package-cleanup --oldkernels --count=2

保留至少 2 个内核。


5. 认为 df 显示满就一定是文件多

误区:
磁盘满就疯狂删文件。

问题:

  • 可能是 inode 耗尽(df -i)
  • 可能是被删除但被进程占用的文件

检查方式:

df -h
df -i
lsof | grep deleted

6. 使用 rm -rf 不带路径确认

误区:
脚本中写:

rm -rf $DIR/

但 DIR 为空或未定义。

后果:

  • 删除根目录或家目录
  • 生产事故

建议:

  • 使用 -v 并打印确认
  • 设置 alias 保护:
    alias rm='rm -i'
    

7. 忽略用户级缓存(home 目录)

误区:
只清理系统目录。

常见占用:

  • ~/.cache
  • ~/.npm, ~/.m2, ~/.pip

建议:

du -sh ~/* | sort -h

8. 删除 docker / podman 资源不加确认

误区:

docker system prune -a

未区分测试与生产。

风险:

  • 删除关键镜像、容器、卷

建议:

  • 明确指定:
    docker image prune
    
  • 不使用 -a 除非确认

9. 把清理当成“优化性能”

误区:
频繁清理 = 系统更快。

事实:

  • Linux 会利用空闲内存做缓存(cache/buffer)
  • 手动清理反而降低性能

查看:

free -h

总结:CentOS 清理原则

✅ 先分析,再删除
✅ 用工具,不手工硬删
✅ 保内核、保日志、保运行进程
✅ 清理前备份或确认

如果你愿意,我可以:

  • 给你一套 CentOS 安全清理脚本
  • 或针对 磁盘满 / inode 满 / boot 满 做专项说明

0 踩