一、清理前的准备工作
rsync -a /path/to/important/data /backup/location或tar -czvf backup.tar.gz /path/to/data命令,避免误删导致数据丢失。df -h查看磁盘分区使用率,du -sh /*分析根目录下各目录大小,定位占用空间大的目录(如/var、/home),为清理提供依据。二、常见清理任务清单
/tmp目录:存储系统运行时的临时文件,可每天清理(rm -rf /tmp/*)。/var/tmp目录:存储长期临时文件(如软件安装包),可每周清理(rm -rf /var/tmp/*)。journalctl工具清理系统日志:journalctl --vacuum-time=3d(删除3天前的日志)或journalctl --vacuum-size=100M(限制日志总大小为100MB)。find /var/log -type f -name "*.log" -mtime +7 -exec rm -f {} \;(删除7天前的.log文件)。yum clean all(清理缓存包、元数据)。dnf clean all(同yum功能)。yum remove package_name或dnf remove package_name(替换为实际软件名)。yum autoremove或dnf autoremove(删除未被任何软件依赖的包)。sync; echo 3 > /proc/sys/vm/drop_caches(sync同步数据后,写入3表示清理三类缓存)。package-cleanup --oldkernels --count=1(需安装yum-utils包,适用于CentOS 7及以上)。find /path/to/search -type f -size +100M -exec ls -lh {} \;(替换为需搜索的路径,如/)。find /path/to/search -type f -mtime +30 -exec rm -f {} \;(谨慎操作,确认文件无用后再删除)。/backup目录下超过30天的文件):find /backup -type f -mtime +30 -exec rm -f {} \;。yum install bleachbit(CentOS 7及以下)或dnf install bleachbit(CentOS 8及以上),通过图形界面清理缓存、临时文件、日志等。三、自动化清理计划配置
crontab -e,添加以下示例任务(按需调整时间):# 每天凌晨2点清理/tmp目录
0 2 * * * rm -rf /tmp/*
# 每周日凌晨3点清理/var/tmp目录
0 3 * * 0 rm -rf /var/tmp/*
# 每天凌晨4点清理日志(保留7天)
0 4 * * * journalctl --vacuum-time=7d
# 每周一凌晨5点清理YUM缓存
0 5 * * 1 yum clean all
# 每月1日凌晨6点清理旧内核
0 6 1 * * package-cleanup --oldkernels --count=1
crontab -l查看当前用户的定时任务)。sudo vi /etc/systemd/system/cleanup.service,添加以下内容:[Unit]
Description=System Cleanup Service
[Service]
Type=oneshot
ExecStart=/bin/bash -c "yum clean all && rm -rf /tmp/* && rm -rf /var/tmp/*"
sudo vi /etc/systemd/system/cleanup.timer,添加以下内容:[Unit]
Description=Run System Cleanup Daily
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl enable cleanup.timer && sudo systemctl start cleanup.timer。/usr/local/bin/cleanup.sh),添加清理步骤(参考上述任务清单),并赋予执行权限:#!/bin/bash
echo "Starting system cleanup..."
rm -rf /tmp/*
rm -rf /var/tmp/*
journalctl --vacuum-time=3d
yum clean all
package-cleanup --oldkernels --count=1
echo "Cleanup completed on $(date)" >> /var/log/cleanup.log
0 2 * * * /usr/local/bin/cleanup.sh。四、注意事项
rm命令,仅查看输出),确认不会误删重要文件。/var、/etc)需使用root权限,建议通过sudo或root用户执行。/boot目录下的内核文件、/etc目录下的配置文件),防止系统无法启动。