如何利用centos清理工具优化系统
导读:利用 CentOS 清理工具优化系统的实操指南 一 准备与评估 备份关键数据与配置,优先在测试环境验证清理脚本与参数。 评估当前磁盘与包状态: 查看磁盘使用:df -h 查看目录占用:du -h --max-depth=1 / 检查包管...
利用 CentOS 清理工具优化系统的实操指南
一 准备与评估
- 备份关键数据与配置,优先在测试环境验证清理脚本与参数。
- 评估当前磁盘与包状态:
- 查看磁盘使用:
df -h - 查看目录占用:
du -h --max-depth=1 / - 检查包管理器缓存:
yum clean metadata或dnf clean metadata(仅刷新元数据,不删除已下载包)
- 查看磁盘使用:
- 原则:能“截断”就不“删除”,优先使用包管理器与系统自带工具(如 logrotate),避免直接粗暴
rm -rf关键目录。
二 内置清理工具与命令
- 包管理器清理
- 清理缓存:
sudo yum clean all(CentOS 7)或sudo dnf clean all(CentOS 8+) - 删除无用依赖:
sudo yum autoremove或sudo dnf autoremove - 删除孤立/无用包:
package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
- 清理缓存:
- 日志与临时文件
- 日志轮转(推荐):
sudo logrotate -f /etc/logrotate.conf - 清理 systemd 日志:
sudo journalctl --vacuum-time=3d(保留最近 3 天) - 安全清理旧日志(示例):
find /var/log -type f -name "*.log" -mtime +30 -delete - 清理临时文件:
sudo rm -rf /tmp/* /var/tmp/*
- 日志轮转(推荐):
- 旧内核管理
- 查看内核:
rpm -q kernel - 仅保留最新 N 个内核(示例保留 2 个):
sudo package-cleanup --oldkernels --count=2
- 查看内核:
- 大文件定位与清理
- 交互式分析:
ncdu / - 查找大文件:
sudo find / -type f -size +100M -exec du -h { } + 2> /dev/null | sort -hr | head
- 交互式分析:
- 可选:释放页面缓存(仅在必要时)
sudo sync & & echo 3 | sudo tee /proc/sys/vm/drop_caches(会清空缓存,可能导致短时性能下降)
三 第三方清理工具
- BleachBit(图形/命令行,支持清理缓存、日志、临时文件与隐私数据)
- 安装:
sudo yum install bleachbit或sudo dnf install bleachbit - 使用建议:以普通用户运行 GUI 进行选择性清理;谨慎启用“粉碎文件/清理空闲空间”等不可逆选项;如需脚本化,可用
bleachbit --clean < 清单>。
- 安装:
四 系统优化与安全加固
- 服务与启动项
- 列出并禁用不需要的服务:
systemctl list-unit-files --type=service;对不需要的服务执行sudo systemctl disable --now < service>
- 列出并禁用不需要的服务:
- 内存与 I/O
- 调整 Swappiness(示例为 10,降低写入 swap 倾向):
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf & & sudo sysctl -p
- 调整 Swappiness(示例为 10,降低写入 swap 倾向):
- 网络(按需)
- 调整 TCP 监听队列:
echo 'net.core.somaxconn=4096' | sudo tee -a /etc/sysctl.conf & & sudo sysctl -p
- 调整 TCP 监听队列:
- 安全建议
- 不建议直接关闭 SELinux;如确需关闭,应充分评估风险并设置为
SELINUX=permissive先行验证,再考虑disabled - 不建议盲目禁用 IPv6;如必须禁用,应通过内核参数或网络脚本按接口配置,并充分回归测试。
- 不建议直接关闭 SELinux;如确需关闭,应充分评估风险并设置为
五 自动化与维护
- 定时清理脚本示例(每周日凌晨 2 点清理日志与临时文件)
- 新建脚本
/usr/local/bin/weekly_cleanup.sh:#!/usr/bin/env bash set -e # 日志轮转 /usr/sbin/logrotate -f /etc/logrotate.conf # 清理 systemd 日志(保留 7 天) /usr/bin/journalctl --vacuum-time=7d # 清理临时文件 /bin/rm -rf /tmp/* /var/tmp/* # 可选:清理 YUM/DNF 缓存 /usr/bin/yum clean all 2> /dev/null || /usr/bin/dnf clean all 2> /dev/null # 可选:释放页面缓存(按需启用) # /usr/bin/sync & & echo 3 | /usr/bin/tee /proc/sys/vm/drop_caches - 赋权并加入定时任务:
sudo chmod +x /usr/local/bin/weekly_cleanup.sh & & sudo crontab -e添加0 2 * * 0 /usr/local/bin/weekly_cleanup.sh > > /var/log/cleanup.log 2> & 1
- 新建脚本
- 监控与告警
- 定期巡检:
df -h、du -sh /*、journalctl -p err -b - 结合监控平台设置磁盘使用阈值告警,提前处理空间紧张问题。
- 定期巡检:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何利用centos清理工具优化系统
本文地址: https://pptw.com/jishu/750153.html
