CentOS磁盘清理实操指南

一快速定位占用

查看整体磁盘使用:执行命令:df-h,确认哪个挂载点(如/、/var)占用高。

分析目录占用:执行命令:du-sh/|sort-hr|head*,找出占用最大的目录。

定位大文件:执行命令:find/-typef-size+100M-execls-lh{};2>/dev/null,筛出大于100MB的文件(忽略权限错误)。

可视化分析:安装并使用ncdu(如:ncdu/),交互式查看并定位大目录/文件。

二安全清理动作清单

包管理器缓存

YUM:执行命令:sudoyumcleanall。

DNF(CentOS8+):执行命令:sudodnfcleanall。

无用依赖与旧内核

删除无用依赖:sudoyumautoremove。

删除旧内核(保留最新1–2个):sudopackage-cleanup--oldkernels--count=1(或–count=2)。

临时文件

手动清理:sudorm-rf/tmp//var/tmp/**。

使用systemd-tmpfiles:sudosystemd-tmpfiles--clean(按配置清理过期临时文件)。

日志文件

systemd日志:sudojournalctl--vacuum-time=2weeks(保留最近2周,可按需改为7d/30d)。

轮转与压缩:确保logrotate正常运行,按日/周轮转并压缩旧日志。

大文件与回收站

按时间清理旧文件:sudofind/var/log-typef-name“*.log”-mtime+30-delete(示例:删除30天前的日志)。

清空回收站:sudorm-rf/home//.local/share/Trash/(对所有用户)。

可选:释放页面缓存(不影响磁盘数据,仅影响内存缓存)

执行:sudosync&&echo3|sudotee/proc/sys/vm/drop_caches(仅在必要时使用)。

三按版本与场景补充

CentOS7vs8+

CentOS7:默认使用YUM;清理命令以yumcleanall、package-cleanup为主。

CentOS8+:使用DNF;清理命令以dnfcleanall为主,其他步骤基本一致。

桌面环境

图形化分析器:安装并使用Baobab(磁盘使用分析器)快速定位大目录。

DNS缓存

如启用systemd-resolved:执行sudosystemd-resolve--flush-caches清理DNS缓存。

四自动化与风险控制

定时清理临时文件(示例脚本+cron)

脚本示例:

#!/bin/bashfind/tmp-typef-mtime+7-deletefind/var/tmp-typef-mtime+7-deletesudoyumcleanallsudodnfcleanall2>/dev/null||truesudosystemd-tmpfiles--clean

加入计划任务:执行sudocrontab-e,添加如:02***/path/to/cleanup.sh。

操作要点

执行清理日志与删除大文件前,先确认业务是否依赖(如数据库、应用日志)。

删除旧内核前,确认当前运行内核:uname-r,避免误删正在使用的内核。

重要数据务必先备份,删除操作不可逆。