怎样清理centos系统中的冗余数据
导读:CentOS 清理冗余数据的实用步骤 一 快速定位占用 查看整体磁盘使用:执行 df -h,定位占用最高的分区(如 /、/var)。 分析目录占用:执行 du -sh / | sort -h*,逐级进入大目录继续分析;或用 ncdu /...
CentOS 清理冗余数据的实用步骤
一 快速定位占用
- 查看整体磁盘使用:执行 df -h,定位占用最高的分区(如 /、/var)。
- 分析目录占用:执行 du -sh / | sort -h*,逐级进入大目录继续分析;或用 ncdu / 交互式定位大文件与目录。
- 检查日志体量:执行 du -sh /var/log/,确认是否为日志膨胀导致。
二 清理包管理与系统缓存
- 清理包管理器缓存:执行 yum clean all;若为 CentOS 8+ 或使用 DNF,执行 dnf clean all。
- 删除无用依赖:执行 yum autoremove,移除不再被任何软件包依赖的包。
- 清理旧内核(谨慎):先查看已安装内核 rpm -q kernel;保留最新 2 个版本可执行 package-cleanup --oldkernels --count=2(仅删除旧版本,务必确保当前运行内核不在删除列表中)。
- 清理文件系统缓存(不影响数据):先 sync 同步落盘,再执行 echo 3 | sudo tee /proc/sys/vm/drop_caches(仅在需要释放 PageCache、dentries、inodes 时使用)。
三 清理临时文件与日志
- 清理临时目录:执行 sudo rm -rf /tmp/ /var/tmp/*;或使用 systemd-tmpfiles --clean 按策略清理;也可按时间清理,如 find /tmp -type f -mtime +7 -delete 与 find /var/tmp -type f -mtime +7 -delete。
- 清理 systemd 日志:执行 journalctl --vacuum-time=14d(保留最近两周),或 journalctl --vacuum-size=500M(限制日志总大小)。
- 清理传统日志文件:对 /var/log 下过大或过期日志,可先 truncate -s 0 /var/log/xxx.log 截断,或按时间删除 find /var/log -type f -name “*.log” -mtime +30 -delete;同时确保 logrotate 正常运行(如 sudo logrotate /etc/logrotate.conf)。
四 查找并处理大文件与长期残留
- 查找大文件:执行 find / -type f -size +100M -exec ls -lh { } ; 2> /dev/null,从结果中甄别可删除的缓存、镜像、旧备份等。
- 清理用户回收站:执行 **rm -rf /home//.local/share/Trash/(多用户环境请逐用户确认)。
- 清理开发/运行环境缓存:如 Composer 缓存 rm -rf /root/.composer/cache;容器镜像与构建缓存(如 /var/lib/docker)如无回滚需求可按需清理(操作前确认业务影响)。
五 自动化与稳定性建议
- 定时清理临时文件:使用 cron 每天清理,例如
- 0 2 * * * /usr/bin/systemd-tmpfiles --clean --file=/etc/tmpfiles.d/*.conf
- 0 3 * * * /usr/sbin/tmpwatch -f 7d /tmp
- 调整内核参数(可选,按负载微调):在 /etc/sysctl.conf 中设置
- vm.swappiness=10
- vm.dirty_background_ratio=5
- vm.dirty_ratio=10 执行 sysctl -p 使配置生效。
- 日常巡检:定期执行 df -h、du -sh /var/log、journalctl --disk-usage,并结合 ncdu 做容量复盘。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样清理centos系统中的冗余数据
本文地址: https://pptw.com/jishu/756726.html
