CentOS清理无用文件步骤
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个可用内核,避免回滚失败;变更前在测试环境验证脚本。

