利用 CentOS 清理工具优化系统的实操指南
一 准备与评估
df -hdu -h --max-depth=1 /yum clean metadata 或 dnf clean metadata(仅刷新元数据,不删除已下载包)rm -rf 关键目录。二 内置清理工具与命令
sudo yum clean all(CentOS 7)或 sudo dnf clean all(CentOS 8+)sudo yum autoremove 或 sudo dnf autoremovepackage-cleanup --quiet --leaves --exclude-bin | xargs yum remove -ysudo logrotate -f /etc/logrotate.confsudo journalctl --vacuum-time=3d(保留最近 3 天)find /var/log -type f -name "*.log" -mtime +30 -deletesudo rm -rf /tmp/* /var/tmp/*rpm -q kernelsudo package-cleanup --oldkernels --count=2ncdu /sudo find / -type f -size +100M -exec du -h {} + 2>/dev/null | sort -hr | headsudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches(会清空缓存,可能导致短时性能下降)三 第三方清理工具
sudo yum install bleachbit 或 sudo dnf install bleachbitbleachbit --clean <清单>。四 系统优化与安全加固
systemctl list-unit-files --type=service;对不需要的服务执行 sudo systemctl disable --now <service>echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf && sudo sysctl -pecho 'net.core.somaxconn=4096' | sudo tee -a /etc/sysctl.conf && sudo sysctl -pSELINUX=permissive 先行验证,再考虑 disabled五 自动化与维护
/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>&1df -h、du -sh /*、journalctl -p err -b