磁盘满的时候cd /opt进不去是很常见的因为根分区/已经100%占满连目录的 inode 或临时文件都无法写入甚至连目录切换都可能失败。下面给你一套按顺序执行、零风险、能快速腾出空间的方案优先解决“进不去目录”的问题。第一步先解决“命令都用不了”的紧急情况先执行下面这两条直接腾出几十到几百MB空间让基础命令恢复可用# 1. 清理系统 journal 日志最安全不会删业务数据journalctl --vacuum-size100M# 2. 清理 /tmp 目录里7天以上没访问的临时文件无业务影响find/tmp-typef-atime7-delete执行完后用df -h再看一下/分区使用率应该会从100%降到99%甚至更低此时cd /opt大概率就能进去了。第二步定位根分区的“罪魁祸首”空间恢复后执行下面的命令找出占用最大的目录/文件# 1. 看根目录下哪些目录最大du-sh/*2/dev/null|sort-hr|head-10# 2. 专门查 /var/lib/dockerDocker 占用磁盘的重灾区du-sh/var/lib/docker/*2/dev/null|sort-hr|head-10常见的占用大户有/var/log系统日志、应用日志疯狂打日志/var/lib/docker容器日志、镜像、卷占用空间/opt你要进的目录里可能有大文件/日志/rootroot用户的大文件、备份包第三步针对性清理按优先级从高到低1. 清理 Docker 资源如果你的 Redis 是 Docker 部署# 先清理无用的容器、镜像、网络、卷不影响正在运行的容器dockersystem prune-a--volumes# 清理容器日志解决“容器日志打满磁盘”的问题# 先找到 Redis 容器IDdockerps|grepredis# 再清理它的日志替换容器IDtruncate-s0/var/lib/docker/containers/容器ID/*-json.log2. 清理日志文件安全不影响业务# 清理 /var/log 下的大日志文件不要直接 rm用 truncate 清空避免文件句柄泄漏# 比如清空 syslogtruncate-s0/var/log/syslog# 清空 nginx/应用日志如果有的话truncate-s0/var/log/nginx/*.log3. 处理 /opt 目录的问题等磁盘空间降到95%以下后再执行# 进入 /opt 目录cd/opt# 查看目录内文件大小du-sh*2/dev/null|sort-hr|head-10如果是/opt里的大文件占满了磁盘可以选择性删除无用的安装包、备份包、日志文件或者把大文件迁移到其他挂载盘。第四步避免后续再出现磁盘爆满给 Redis 容器配置日志轮转限制日志大小避免日志打满磁盘。给根分区设置磁盘告警比如使用率超过80%就发邮件提醒。给 Redis 配置maxmemory避免数据无限增长撑爆磁盘。如果执行第一步后还是进不去/opt可以把du -sh /*的结果发给我我帮你分析是哪个目录占了空间给你定制清理命令。