云主机磁盘文件怎么清理最彻底?

HCRM技术_小炮 云主机 2026-05-26 3 0

清理云主机的磁盘文件,核心思路和操作与物理服务器或本地虚拟机类似,但由于云主机通常有系统盘数据盘的区分,且云平台通常有快照/镜像功能,所以在操作时需要多加小心,避免误删系统关键文件或导致无法恢复。

以下是针对LinuxWindows云主机通用的安全清理步骤,以及一些云平台特有的注意事项。

⚠️ 核心安全警告

1、不要手动删除/ 根目录下不认识的文件夹(如libbinetcboot 等)。

2、务必备份:在清理前,最好先对云主机创建快照(Snapshot)或镜像(Image),如果误删除,可以通过云控制台快速恢复。

3、明确分盘:云主机通常有“系统盘”(通常为40-50GB,主要存操作系统和基本软件)和“数据盘”(存储数据库、网站文件、日志等)。系统盘空间不足是用户最常见的困扰。

🐧 Linux 云主机清理(最常见场景)

以下命令基于 CentOS/Ubuntu 系统,大部分通用。

先定位“磁盘杀手”

查看磁盘整体使用情况
df -h
找到占用空间最大的目录(通常从 / 根目录开始)
du -sh /* 2>/dev/null | sort -rh | head -20
如果看到 /var 很大,可以继续深入
du -sh /var/* 2>/dev/null | sort -rh | head -10

清理日志文件(最有效、最安全)

系统日志(/var/log/)是磁盘空间泄露的主要原因之一。

查看最大的日志文件
ls -lhS /var/log/
【安全清理】使用 logrotate 强制轮转(推荐)
sudo logrotate -f /etc/logrotate.conf
【激进清理】只保留最近几天的日志(若空间告急)
sudo journalctl --vacuum-time=3d   # 清理 systemd 日志,只保留最近3天
【手动清理】安全的清空特定日志(不删除文件,只清空内容)
sudo truncate -s 0 /var/log/messages
sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/secure
sudo truncate -s 0 /var/log/maillog
sudo truncate -s 0 /var/log/nginx/access.log  # 如果有 nginx

清理包管理器缓存(非常安全)

使用aptyum 更新系统后,会产生大量缓存包。

Debian/Ubuntu 系统
sudo apt clean          # 删除所有缓存的包文件(/var/cache/apt/archives/)
sudo apt autoclean      # 删除已过时的缓存包
sudo apt autoremove     # 删除系统不再需要的依赖包(内核或库)
CentOS/RHEL 系统
sudo yum clean all
sudo dnf clean all      # 如果使用 dnf

清理临时文件

安全清理 /tmp 目录(重启后会自动清,但可以主动清)
sudo rm -rf /tmp/*
清理系统临时目录(/var/tmp)
sudo rm -rf /var/tmp/*
使用 tmpreaper / tmpwatch 工具自动清理(需安装)
sudo tmpreaper --all --protect 'root' 30d /tmp

5. 清理 Docker 相关(如果安装了 Docker)

Docker 是云主机磁盘占用的另一个大户。

查看 Docker 占用的磁盘
docker system df
一键清理:删除所有停止的容器、未使用的网络、悬空镜像和构建缓存
docker system prune -a --volumes
安全说明:-a 会删除未被使用的镜像(可能导致下次拉取较慢),--volumes 会删除未被容器使用的数据卷(重要数据慎用)

查找并清理大文件/大目录

查找大于 100MB 的文件(通常是日志、core dump 或数据库备份)
sudo find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null
查找超过 1GB 的目录
sudo du -h --max-depth=1 / 2>/dev/null | grep '[0-9]\+G'

🖥️ Windows 云主机清理

使用内置磁盘清理工具

- 打开“此电脑” → 右键系统盘(如 C:)→“属性”“磁盘清理”

- 点击“清理系统文件”(需要管理员权限)。

- 选择以下可安全删除的选项:

Windows 更新清理(通常能释放 2-10GB)

临时文件

回收站

传递优化文件

系统还原点(如果不需要回滚,可以全部删除)

清理临时文件夹

使用 PowerShell 或 CMD(以管理员身份运行)
cleanmgr /sageset:1   # 配置清理选项
cleanmgr /sagerun:1   # 执行清理
或者手动删除
%TEMP%          # 用户临时文件夹
C:\Windows\Temp # 系统临时文件夹(可以清空)

3. 清理 Windows.old 文件夹

- 如果系统进行了大版本更新(如 Win10→Win11),C:\Windows.old 可能占用 10-20GB。

方法:设置 → 系统 → 存储 → 临时文件 → 勾选“以前的 Windows 安装” → 删除。

禁止休眠文件

C:\hiberfil.sys 文件大小通常与内存等同(如 16GB)。

方法:以管理员身份运行 CMD,输入powercfg -h off,此操作会关闭休眠功能,释放磁盘空间(虚拟机通常不需要休眠)。

☁️ 云平台特有的清理(重要!)

不是你本机文件多,而是云平台没帮你释放空间

1、回收站/快照残留

- 某些云平台(如阿里云 ECS、腾讯云 CVM)在你删除文件后,文件可能还在回收站快照里占用空间,请到云控制台-存储-云盘-回收站检查并彻底清空。

2、镜像/快照占用

- 如果你创建了自定义镜像,或者开启了自动快照,那些历史快照会占用云盘的总容量,进入控制台的“快照列表”,删除不再需要的旧快照。

3、云监控/日志 Agent

- 云平台通常会在你的云主机内安装代理程序(如AliyunServiceTecentStor 等),它们的日志可能存放在/usr/local/cloud//var/log/cloud-init*.log 下,在确保云主机运行正常的前提下,可以清空这些日志。

日常维护:设置 crontab 任务,每周执行一次apt auto cleanup +journalctl vacuum

紧急处理:先用du -sh / 找到最大目录,然后用du -sh /最大目录/ 深入排查。

终极方案:如果系统盘(通常较小)空间总是告急,可以考虑更换云盘(如将 40GB 系统盘在线扩容到 80GB),或者将应用数据迁移到数据盘

数据盘清理:如果是数据盘满了,需要具体查看数据库日志(MySQL Binlog、PostgreSQL WAL 日志)或 Web 应用日志,按需清理。

建议从包管理器缓存日志文件 开始清理,这两步通常最安全、见效最快,清理前,一定要确保有云平台快照作为后路。

文章摘自:https://idc.huochengrm.cn/zj/26008.html

评论