0
点赞
收藏
分享

微信扫一扫

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

1.问题描述

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

根目录use100%,因为没有空间了,可能造成服务器连接不上。

2.问题分析

磁盘空间被占满。可能是部署的某些服务一直备份,每天都备份,占用较大空间,比如日志文件,或者gitlab的备份。每天备份几个G,两个月就可以用完几百个G。这两种情况,目前我都遇到过。

3.解决问题

3.1先cd进入根目录

cd /

3.2查看各目录的大小

du -sh*

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

发现没有啥文件夹比较大,但是细心的话会发现,所有目录的空间加起来才四百多G,而被占用的却是900多G,还有400

多G磁盘不翼而飞。这就涉及到一个坑了,du -sh*并不能统计隐藏文件的大小。

du -h --max-depth=1

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

--max-depth=1加上这个参数就可以看到隐藏文件的大小了

4.删除占用较大的文件

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

发现是gitlab的备份文件占用空间太大,由于每天都会备份,所以即使你删除了这些备份,一段时间后还会把空间吃完。

于是写个定时任务,清理备份文件,只留下近一个月的或者只留下五天的备份

4.1定时任务

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

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
举报

相关推荐

0 条评论