CentOS如何进行深度清理
CentOS深度清理实操指南
一准备与风险
操作前先备份重要数据与配置文件,清理过程中避免删除系统关键目录与正在使用的文件。
优先使用包管理器(yum/dnf)与系统工具(如systemd-tmpfiles、logrotate)执行清理,减少误删风险。
以下命令默认需要root或在命令前加sudo执行。
二标准清理流程
查看空间占用:执行df-h确认分区使用率,再用du-sh/|sort-h*定位大目录。
清理包管理缓存:执行yumcleanall;若为CentOS8+且使用DNF,执行dnfcleanall。
删除无用依赖与孤立包:执行yumautoremove;必要时用package-cleanup--quiet--leaves--exclude-bin|xargsyumremove-y清理“叶子”包(仅限已安装yum-utils)。
清理旧内核:先查看rpm-qkernel;保留最近2个内核,执行package-cleanup--oldkernels--count=2(仅限已安装yum-utils)。
清理临时文件:执行systemd-tmpfiles--clean;必要时补充清理/tmp与/var/tmp(见下一节细化)。
清理日志:对journald执行journalctl--vacuum-time=2weeks;对/var/log的旧日志可结合logrotate或按时间截断/删除(见下一节细化)。
清理内存页缓存(可选,非释放磁盘):执行sync&&echo3|sudotee/proc/sys/vm/drop_caches。
查找并处置大文件:执行ncdu/交互式定位大文件;或用find/-typef-size+100M-execls-lh{};列出大于100MB的文件,确认后删除。
三关键目录与日志的细化处理
临时文件
推荐方式:使用systemd-tmpfiles--clean,它会按/etc/tmpfiles.d/*.conf的规则安全清理(如/tmp14d表示清理14天未访问的文件)。
手动清理(谨慎):/tmp与/var/tmp可直接清理,但需确保无程序占用;可按时间清理,如find/tmp-typef-mtime+7-delete与find/var/tmp-typef-mtime+7-delete。
日志文件
journald:执行journalctl--vacuum-time=2weeks或–vacuum-size=500M限制日志体积与保存时间。
/var/log:优先使用logrotate进行轮转与压缩;如需临时释放空间,可对指定日志执行truncate-s0/var/log/file.log,或删除已轮转的旧日志(如.gz、.old),避免直接rm-rf/var/log/*。
四自动化与长期维护
定时清理脚本示例(/usr/local/bin/cleanup.sh):
内容:#!/bin/bashset-eyumcleanall||truecommand-vdnf>/dev/null&&dnfcleanall||trueyumautoremove-y||trueifcommand-vpackage-cleanup>/dev/null;thenpackage-cleanup--oldkernels--count=2-y||truepackage-cleanup--quiet--leaves--exclude-bin|xargsyumremove-y||truefisystemd-tmpfiles--clean||truejournalctl--vacuum-time=2weeks||truesyncecho3|tee/proc/sys/vm/drop_caches>/dev/null||true
赋权与定时:
赋权:chmod+x/usr/local/bin/cleanup.sh
每天02:00执行:echo“02***/usr/local/bin/cleanup.sh>>/var/log/cleanup.log2>&1”|tee-a/var/spool/cron/root
确保crond运行:systemctlenable--nowcrond
可选:安装ncdu做定期巡检(yuminstall-yncdu),直观查看目录占用变化。
五常见陷阱与建议
不要直接rm-rf/var/log/*,优先用logrotate或journalctl管理日志,避免破坏正在写入的日志与轮转链路。
清理/tmp与/var/tmp前确认无服务/进程占用;生产环境建议用systemd-tmpfiles按计划清理,而非粗暴全删。
删除旧内核务必保留至少1–2个可启动内核,避免更新失败导致无法启动;删除前用rpm-qkernel核对版本。
谨慎使用echo3>/proc/sys/vm/drop_caches,它仅释放内存页缓存,对磁盘空间无影响,且频繁清理可能降低文件系统性能。

