#yyds干货盘点#centos根目录被占满,如何看磁盘空间被什么文件占用(遇到隐藏文件查看不到的坑)

与天地兮比寿,与日月兮齐光。这篇文章主要讲述#yyds干货盘点#centos根目录被占满,如何看磁盘空间被什么文件占用(遇到隐藏文件查看不到的坑)相关的知识,希望能为你提供帮助。
1.问题描述

根目录use100%,因为没有空间了,可能造成服务器连接不上。
2.问题分析
【#yyds干货盘点#centos根目录被占满,如何看磁盘空间被什么文件占用(遇到隐藏文件查看不到的坑)】磁盘空间被占满。可能是部署的某些服务一直备份,每天都备份,占用较大空间,比如日志文件,或者gitlab的备份。每天备份几个G,两个月就可以用完几百个G。这两种情况,目前我都遇到过。
3.解决问题
3.1先cd进入根目录

cd /

3.2查看各目录的大小
du -sh*


发现没有啥文件夹比较大,但是细心的话会发现,所有目录的空间加起来才四百多G,而被占用的却是900多G,还有400
多G磁盘不翼而飞。这就涉及到一个坑了,du -sh*并不能统计隐藏文件的大小。
du -h --max-depth=1


--max-depth=1加上这个参数就可以看到隐藏文件的大小了
4.删除占用较大的文件

发现是gitlab的备份文件占用空间太大,由于每天都会备份,所以即使你删除了这些备份,一段时间后还会把空间吃完。
于是写个定时任务,清理备份文件,只留下近一个月的或者只留下五天的备份
4.1定时任务
4.2删除脚本
#!/bin/bash
# 保留文件数目
Num=5

Dir=/.data/.gitlab/backups/data/backups

RealNum=$(ls -l $Dir/*.tar |grep ^- |wc -l)


while((RealNum > Num))
do
dfile=$(ls -rt $Dir/*.tar | head -1)
echo "delete file:" $dfile
rm -rf $dfile
let "RealNum--"
done


    推荐阅读