centos系统垃圾清理指南
导读:CentOS 系统垃圾清理指南 一 安全清理流程与准备 备份关键数据与配置:优先备份数据库、业务配置与证书等,避免误删造成不可恢复影响。 检查磁盘占用:先定位“哪里占满”,再定向清理。 查看分区使用:df -h 查看目录大小:du -s...
CentOS 系统垃圾清理指南
一 安全清理流程与准备
- 备份关键数据与配置:优先备份数据库、业务配置与证书等,避免误删造成不可恢复影响。
- 检查磁盘占用:先定位“哪里占满”,再定向清理。
- 查看分区使用:df -h
- 查看目录大小:du -sh /* | sort -h
- 交互式分析大目录:ncdu /
- 选择合适时机:尽量在业务低峰期执行,清理日志类文件时优先“截断/轮转”,避免直接删除正在写入的日志导致服务异常。
- 最小权限原则:仅在必要时使用 sudo,避免在生产环境执行 rm -rf / 等高风险操作。
二 核心清理步骤
- 包管理器缓存
- YUM:sudo yum clean all
- DNF(CentOS 8+):sudo dnf clean all
- 无用依赖与旧内核
- 自动移除无用包:sudo yum autoremove
- 删除旧内核(保留最近 2 个):sudo package-cleanup --oldkernels --count=2
- 日志文件
- 查看 systemd 日志占用:journalctl --disk-usage
- 按时间清理:journalctl --vacuum-time=7d(保留最近 7 天)
- 按大小清理:journalctl --vacuum-size=100M
- 传统日志轮转与清理:logrotate -vf /etc/logrotate.conf(必要时编辑 /etc/logrotate.d/* 配置保留策略)
- 临时文件
- 清理系统临时目录:sudo rm -rf /tmp/;sudo rm -rf /var/tmp/
- 定时清理(推荐纳入日常维护):sudo systemd-tmpfiles --clean --file=/etc/tmpfiles.d/*.conf
- 大文件定位与清理
- 查找大于 100MB 的文件:find / -type f -size +100M -exec ls -lh { } ;
- 交互式定位占用:ncdu /
- 内存与 Swap(谨慎)
- 释放页面缓存(仅在必要时):sync & & echo 3 | sudo tee /proc/sys/vm/drop_caches
- 清理 Swap(会短暂影响性能):sudo swapoff -a & & sudo swapon -a
- 回收站
- 清空所有用户回收站:sudo rm -rf /home//.local/share/Trash/
- 可选图形化工具
- 安装并使用 BleachBit:sudo yum install bleachbit;bleachbit(谨慎选择清理项)
三 按版本与场景的要点
- CentOS 7 与 systemd 日志
- 清空单个日志文件(保留 inode 与权限):> /var/log/messages 或 truncate -s 0 /var/log/messages
- 配置 journald 持久化与上限:在 /etc/systemd/journald.conf 中设置 SystemMaxUse=100M,随后重启服务:systemctl restart systemd-journald
- CentOS 8/Stream 与 DNF
- 包管理使用 DNF:sudo dnf clean all;旧内核保留策略同样可用 package-cleanup
- 容器与 Docker
- 容器日志常驻 /var/lib/docker/containers//.log,建议配置 Docker 日志轮转(max-size/max-file),避免无限增长
- DNS 缓存
- 如使用 systemd-resolved:sudo systemd-resolve --flush-caches(视实际是否启用该服务而定)
四 自动化与长期维护
- 定时清理临时文件
- 编辑 root 定时任务:sudo crontab -e
- 示例(每天 2 点清理 tmpfiles):0 2 * * * /usr/bin/systemd-tmpfiles --clean --file=/etc/tmpfiles.d/*.conf
- 日志轮转策略
- 全局或按服务配置 /etc/logrotate.conf 与 /etc/logrotate.d/*,常用策略:daily、rotate 7、compress、missingok、notifempty、create、postrotate 发送信号重载服务
- 监控与告警
- 结合监控(如 df、du、ncdu)与阈值告警,提前发现异常增长(/var/log、/var/lib/docker 等)
五 注意事项与常见误区
- 不要删除正在被进程写入的日志文件;优先使用“截断”或“轮转”,并确保服务具备自动重建日志文件的能力(如 rsyslog、nginx 等)。
- 清理 systemd 日志前先确认占用:journalctl --disk-usage;清理后按需设置上限,避免再次暴涨。
- 谨慎清理 /tmp 与 /var/tmp 中可能被系统或应用锁定的文件;尽量使用 systemd-tmpfiles 机制。
- 清理内存缓存(drop_caches)仅作临时缓解,不能替代根因分析与容量扩容;生产环境慎用。
- 清理 Swap 会导致短时性能下降与抖动,非必要不执行。
- 不要尝试“清理注册表”:Linux(含 CentOS)没有 Windows 式注册表,配置以文本文件与 systemd 单元为主。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos系统垃圾清理指南
本文地址: https://pptw.com/jishu/765518.html
