centos镜像如何清理无用文件
导读:一、清理YUM/DNF缓存(软件包管理缓存) YUM(CentOS 7及以下)或DNF(CentOS 8及以上)是CentOS的包管理工具,安装软件时会缓存元数据和RPM包,占用/var/cache/yum(CentOS 7)或/var/c...
一、清理YUM/DNF缓存(软件包管理缓存)
YUM(CentOS 7及以下)或DNF(CentOS 8及以上)是CentOS的包管理工具,安装软件时会缓存元数据和RPM包,占用/var/cache/yum
(CentOS 7)或/var/cache/dnf
(CentOS 8+)目录空间。
- 清理所有缓存:
# CentOS 7及以下 sudo yum clean all # CentOS 8及以上 sudo dnf clean all
- 仅清理元数据缓存(减少重复下载元数据的时间):
# CentOS 7及以下 sudo yum clean metadata # CentOS 8及以上 sudo dnf clean metadata
- 仅清理已下载的RPM包(释放
/var/cache/yum
或/var/cache/dnf
中的.rpm
文件):# CentOS 7及以下 sudo yum clean packages # CentOS 8及以上 sudo dnf clean packages
二、清理临时文件(/tmp和/var/tmp目录)
/tmp
(临时文件,重启后可能被清除)和/var/tmp
(长期临时文件)是系统运行时生成的临时文件目录,易积累无用文件。
- 手动删除目录下所有文件(谨慎使用,避免误删系统临时文件):
sudo rm -rf /tmp/* sudo rm -rf /var/tmp/*
- 查找并删除指定天数的旧文件(如7天前):
sudo find /tmp -type f -mtime +7 -exec rm -f { } \; sudo find /var/tmp -type f -mtime +7 -exec rm -f { } \;
- 查找并删除大文件(如超过100MB):
sudo find /tmp -type f -size +100M -exec rm -f { } \; sudo find /var/tmp -type f -size +100M -exec rm -f { } \;
- 使用systemd-tmpfiles工具(系统自带,遵循
/usr/lib/tmpfiles.d/
中的配置规则):sudo systemd-tmpfiles --clean
三、清理日志文件(/var/log目录)
日志文件(如/var/log/messages
、/var/log/secure
)会随时间增长占用大量空间,可通过以下方式清理:
- 清空单个日志文件(如
/var/log/messages
):sudo cat /dev/null > /var/log/messages
- 批量清空所有日志文件(谨慎使用,避免影响系统日志记录):
sudo find /var/log -type f -name "*.log" -exec cat /dev/null { } \;
- 使用logrotate工具(系统自带,自动压缩、删除旧日志):
编辑/etc/logrotate.conf
或/etc/logrotate.d/
下的配置文件,设置日志保留天数(如maxage 30
表示保留30天)和压缩规则(如compress
)。例如,添加以下内容到/etc/logrotate.d/myapp
:/var/log/myapp/*.log { daily rotate 7 compress missingok notifempty }
四、使用ncdu工具分析大文件
ncdu
(NCurses Disk Usage)是可视化磁盘使用分析工具,可快速定位占用空间大的文件或目录。
- 安装ncdu:
sudo yum install ncdu # CentOS 7及以下 sudo dnf install ncdu # CentOS 8及以上
- 分析指定目录(如根目录
/
):
按sudo ncdu /
↑
/↓
键选择文件/目录,按Enter
键进入子目录,按d
键删除选中的文件/目录。
五、定期自动化清理
通过cron
定时任务定期执行清理操作,避免手动维护。
- 编辑当前用户的crontab:
sudo crontab -e
- 添加以下内容(每天凌晨2点清理临时文件,每天凌晨3点清理日志文件):
0 2 * * * find /tmp -type f -mtime +7 -exec rm -f { } \; & & find /var/tmp -type f -mtime +7 -exec rm -f { } \; 0 3 * * * find /var/log -type f -name "*.log" -mtime +30 -exec rm -f { } \;
注意事项
- 备份重要数据:清理前确认文件是否无用,避免误删系统或个人文件。
- 谨慎使用
rm -rf
:该命令会强制删除文件且不提示确认,建议先使用ls
命令查看目标文件。 - 生产环境测试:在测试环境验证清理脚本,避免影响线上服务。
- 定期维护:建议每月执行一次全面清理,保持系统整洁。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos镜像如何清理无用文件
本文地址: https://pptw.com/jishu/723836.html