CentOS清理无用文件步骤

一准备与风险

以具有sudo权限的账户操作,先确认磁盘占用:df-h,定位大目录:du-sh/|sort-h*。

清理前对重要数据做备份,并在变更窗口内执行,避免影响线上业务。

谨慎删除正在被进程使用的文件,必要时先停止相关服务或安排在维护时段执行。

二标准清理流程

    清理临时文件

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

    使用systemd-tmpfiles:sudosystemd-tmpfiles--clean(按配置清理/tmp、/var/tmp等)。

    按时间清理旧临时文件:sudofind/tmp-typef-mtime+7-delete与sudofind/var/tmp-typef-mtime+7-delete。

    清理包管理器缓存

    sudoyumcleanall(CentOS7)。

    sudodnfcleanall(CentOS8+)。

    清理日志与journald

    查看日志占用:sudodu-sh/var/log/|sort-h*。

    按时间收缩journal:sudojournalctl--vacuum-time=30d(保留最近30天)。

    按大小收缩journal:sudojournalctl--vacuum-size=500M。

    轮转并压缩旧日志:sudologrotate-f/etc/logrotate.conf。

    删除无用依赖与旧内核

    移除孤立包:sudoyumautoremove-y。

    查看当前内核:uname-r。

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

    清理用户级缓存与回收站

    用户缓存:rm-rf~/.cache/~/.local/share/Trash/~/.mozilla/firefox//Cache/~/.config/google-chrome/Default/Cache/*(按需)**。

    可选清理文件系统缓存(仅当内存紧张且可接受短时性能波动时)

    执行:sudosync&&echo3|sudotee/proc/sys/vm/drop_caches(仅清理页面/目录项/inode缓存,不影响持久数据)。

三定位大文件与目录

快速查看各目录占用:sudodu-sh/|sort-h*。

查找大于100MB的文件:sudofind/-typef-size+100M-execls-lh{};2>/dev/null。

交互式分析工具:sudoyuminstall-yncdu&&sudoncdu/(方向键导航,d删除)。

四自动化与维护

定时清理临时文件与缓存(示例每天02:00执行):

新建脚本/usr/local/bin/cleanup.sh:

#!/bin/bashsystemd-tmpfiles--cleanfind/tmp-typef-mtime+7-deletefind/var/tmp-typef-mtime+7-deleteyumcleanall2>/dev/null||dnfcleanall2>/dev/nulljournalctl--vacuum-time=30dlogrotate-f/etc/logrotate.conf

赋权并加入cron:sudochmod+x/usr/local/bin/cleanup.sh&&sudocrontab-e,添加:

02***/usr/local/bin/cleanup.sh>>/var/log/cleanup.log2>&1

建议保留至少2个可用内核,避免回滚失败;变更前在测试环境验证脚本。