CentOS7 根分区空间占满?三步快速清理操作指引
针对CentOS7根分区空间占满的问题,可按照以下三步快速清理操作指引执行,优先清理高占用资源并确保操作安全性125:
查看磁盘使用情况
执行命令
df -h
/dev/mapper/centos-root
查找占用空间最大的目录
cd / # 进入根目录du -h -x --max-depth=1 | sort -hr # 按占用空间降序显示子目录
重点关注
/var/log
/var/cache
/tmp
清理日志与临时文件
find /var/log -type f -name "*.log" -mtime +7 -delete
journalctl --vacuum-time=7d # 保留7天日志truncate -s 0 /var/log/*.log# 清空所有日志文件内容(谨慎操作)
rm -rf /tmp/* # 删除临时文件yum clean all # 清理YUM缓存[2]()
删除未使用的软件包
package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y # 删除孤立包[2]()
移除旧内核(释放/boot空间)
rpm -q kernel # 列出所有内核uname -r # 查看当前使用中的内核
yum remove $(rpm -q kernel | grep -v $(uname -r)) # 保留当前内核[5]()
数据库日志清理(如MySQL)
/var/lib/mysql
rm -f /var/lib/mysql/mysql-bin.* # 删除二进制日志(需先关闭日志功能)[9]()
Web服务器缓存清理
truncate -s 0 /var/log/httpd/*_log # 清空Apache日志 truncate -s 0 /var/log/nginx/*.log# 清空Nginx日志
用户缓存清理
rm -rf /home/*/.cache/* # 删除用户缓存文件
执行
df -h
和
du -h --max-depth=1 /
检查空间释放情况。若空间仍不足,可考虑扩展根分区813,或通过
lsof +L1
查找已删除但被进程占用的文件14。
?? 注意事项:
- 清理前建议备份重要数据(如
)13。/home
- 删除内核时务必确认保留当前运行版本56。
- 日志清理避免直接删除文件,优先使用
防止服务中断。truncate