温馨提示×

centos如何清理垃圾文件

小樊
33
2026-01-02 03:12:22
栏目: 智能运维

CentOS 清理垃圾文件的安全做法

一 快速定位占用

  • 查看分区使用:执行 df -h,确认哪些挂载点(如 //var)空间吃紧。
  • 分析目录体积:执行 du -sh / | sort -rh | head -n 10*,找出占用最大的目录。
  • 交互式定位大文件:安装并使用 ncdu(如 sudo yum install ncdu -y),运行 ncdu / 逐级排查。
  • 查找大文件:执行 find / -type f -size +100M -exec ls -lh {} ;,列出大于 100MB 的文件以便确认是否可删。

二 标准清理清单

  • 包管理器缓存
    • YUM:执行 sudo yum clean all;如仅需清理部分,可用 yum clean metadatayum clean packages
    • DNF(CentOS 8+/Stream):执行 sudo dnf clean all
  • 无用依赖与旧内核
    • 移除孤立包:执行 package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
    • 删除旧内核(保留最近 2 个):执行 sudo package-cleanup --oldkernels --count=2
  • 临时文件
    • 清理 /tmp:执行 sudo rm -rf /tmp/*;sudo rm -rf /var/tmp/
    • 建议启用自动清理:系统自带 tmpwatch 会按天清理 /tmp(默认 10d)与 /var/tmp(默认 30d),无需手动频繁 rm。
  • 日志文件
    • 轮转与压缩:确保 logrotate 正常运行,避免日志无限增长。
    • 安全清理示例:对超过 30 天的日志删除,对超过 50MB 且超过 7 天的日志截断(先备份关键日志)。
  • 内存页缓存(可选)
    • 仅在必要时执行(如测试、空间紧张且确认无影响时):sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
  • 回收站与应用缓存
    • 清空回收站:如 rm -rf ~/.local/share/Trash/files/*;rm -rf /root/.local/share/Trash/files/
    • 清理开发工具缓存:如 rm -rf /root/.composer/cache;rm -rf /root/.npm /home//.npm /tmp/npm-
  • 核心转储文件
    • 删除异常产生的大量 core 文件:find / -regex “.*/core.[0-9]+$” -delete

三 自动化与长期维护

  • 配置 logrotate:编辑对应日志的配置文件(位于 /etc/logrotate.d/),设置合理的 rotatemaxsizecompressmissingoknotifempty 等策略,确保日志按大小或时间自动轮转与压缩归档。
  • 定时清理临时目录:使用 tmpwatch 的每日任务(位于 /etc/cron.daily/tmpwatch),可按需调整 10d(/tmp)与 30d(/var/tmp)等保留周期,避免 /tmp 被撑爆。
  • 定期巡检:将 df -h、du -sh、ncdu 等检查加入周期性巡检或告警,提前发现异常增长。

四 注意事项与风险提示

  • 谨慎使用 rm -rf,删除前先确认路径与作用;对生产环境建议先备份关键数据与配置。
  • 清理日志优先用 logrotate 或“truncate -s 0 文件”,避免直接粗暴删除正在写入的日志文件导致服务异常或审计信息丢失。
  • 清理包缓存与旧内核前,确认当前运行内核稳定,保留至少 1–2 个可回退的旧内核版本。
  • 执行 drop_caches 仅作为临时手段,且最好在维护窗口进行,避免对线上业务造成抖动。

0