服务器磁盘已满,怎样安全释放空间并恢复网站?
先停止会持续写入的非关键任务并保留现场,不要盲删数据库、上传目录或未知日志。用 `df` 确认满的是哪个文件系统,再用 `du`、日志和进程占用定位来源;优先清理可重建的缓存、过期临时文件和已确认可删除的旧备份,释放少量空间后再恢复服务。
更新于 2026年8月10日
先止住继续写入
记录报错时间和受影响分区,暂停非关键备份、批处理、导入或日志密集任务,避免磁盘继续被写满。不要先重启所有服务:被删除但仍由进程打开的大日志可能继续占空间,重启也可能让数据库在无可用空间时进行恢复写入。
用 df 与 du 分层定位
GNU Coreutils 的`df` 说明用于查看文件系统可用空间,`du` 说明用于估算目录和文件占用。先用 df -h 找到满盘挂载点,再在该范围用 du 排查大目录,同时检查 inode、日志轮转、容器层和已删除但仍被进程打开的文件;df 与 du 差异很大时,不要继续凭目录大小盲删。
按可恢复性决定删除顺序
优先处理能够重新生成且已确认无用的缓存、临时文件、旧构建残留和超出保留策略的备份;日志应先确认服务和保留要求,再轮转或截断。数据库、用户上传、当前发布版本和唯一备份不能作为“最大文件”直接删除。释放空间后检查数据库、队列、上传和日志是否恢复,再修正备份保留、日志轮转与磁盘告警,避免很快再次写满。
Answer feedback
这条回答解决了你的问题吗?
公开票数用于优先完善答案。
还需要进一步协助?
联系李李