/home
、/etc
、数据库文件),避免误删导致数据丢失。df -h
查看磁盘空间使用率,du -sh /*
分析各目录大小,free -h
查看内存占用,明确清理优先级(如磁盘空间不足时优先清理大文件)。yum clean all
(CentOS 7及以下)或dnf clean all
(CentOS 8及以上),清除软件包缓存;使用package-cleanup --oldkernels --count=1
删除旧内核(仅保留最新1个),释放/boot
分区空间。/tmp
和/var/tmp
下的临时文件(无重要数据),命令:rm -rf /tmp/* /var/tmp/*
。.cache
目录(如/home/user/.cache
),避免浏览器、应用缓存占用过多空间。logrotate
(默认路径/etc/logrotate.conf
),设置日志保留天数(如rotate 7
保留7天)、压缩选项(compress
),自动轮转/var/log
下的日志文件(如*.log
)。truncate
清空大日志文件(如/var/log/messages
),或用find
删除指定天数前的日志(如find /var/log -name "*.log" -mtime +30 -delete
)。yum list installed
列出已安装软件,删除不再需要的包(如yum remove package_name
)。yum autoremove
(或dnf autoremove
),删除不再被任何软件依赖的无用包,减少系统冗余。find / -type f -size +100M -exec ls -lh {} \;
查找大于100MB的文件,确认后删除无用文件(如旧备份、视频、ISO镜像)。find / -type f -mtime +30 -delete
删除30天前的旧文件(谨慎使用,避免删除系统关键文件)。sync
同步数据到磁盘,然后执行echo 3 > /proc/sys/vm/drop_caches
清理页面缓存、目录项和inode缓存(不影响正在运行的程序)。编写清理脚本:将上述清理任务整合到一个脚本(如/usr/local/bin/cleanup.sh
),添加日志记录(如LOG_FILE="/var/log/cleanup.log"
)和错误处理,示例脚本结构:
#!/bin/bash
LOG_FILE="/var/log/cleanup.log"
echo "Cleanup started at $(date)" >> $LOG_FILE
# 清理YUM缓存
yum clean all >> $LOG_FILE 2>&1
# 清理临时文件
rm -rf /tmp/* /var/tmp/* >> $LOG_FILE 2>&1
# 清理旧内核
package-cleanup --oldkernels --count=1 >> $LOG_FILE 2>&1
# 清理系统缓存
sync; echo 3 > /proc/sys/vm/drop_caches >> $LOG_FILE 2>&1
echo "Cleanup completed at $(date)" >> $LOG_FILE
赋予执行权限:chmod +x /usr/local/bin/cleanup.sh
。
设置定时任务:使用crontab -e
添加定时任务,例如每天凌晨2点执行清理脚本:
0 2 * * * /usr/local/bin/cleanup.sh
或每周日凌晨3点执行:0 3 * * 0 /usr/local/bin/cleanup.sh
。
yum install bleachbit -y
,运行后选择清理项目即可。yum install ncdu -y
安装,运行ncdu /
扫描磁盘,直观查看大文件和目录,便于针对性清理。df -h
和free -h
检查磁盘和内存使用情况,确认清理效果。