网站运行一段时间,经常遇到磁盘空间占满的情况。排查过程如下:
一、首先使用df -h 命令查看磁盘剩余空间,通过以下图看出/目录下的磁盘空间已经被占满。
二、进入根目录,因为最近常用的目录就是usr目录,所以用du -bs命令看一下常用的usr目录大小,由下图可见/usr目录占据了11g。
其实可以直接运行find命令,见第三步
三、进入usr目录用find 命令找到大文件
把日志,压缩包什么的都清空一下
就可以了
常用参数有:
-a or -all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。
-b or -bytes 显示目录或文件大小时,以byte为单位。
-c or -total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。
-D or -dereference-args 显示指定符号连接的源文件大小。
-h or -human-readable 以K,M,G为单位,提高信息的可读性。
-H or -si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。
-k or -kilobytes 以1024 bytes为单位。
-l or -count-links 重复计算硬件连接的文件。
-L<符号连接> or -dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m or -megabytes 以1MB为单位。
-s or -summarize 仅显示总计,即当前目录的大小。
-S or -separate-dirs 显示每个目录的大小时,并不含其子目录的大小。
-x or -one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件> or -exclude-from=<文件> 在<文件>指定目录或文件。
–exclude=<目录或文件> 略过指定的目录或文件。
–max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
–help 显示帮助。
–version 显示版本信息。
使用du命令查看大小
简单使用
[root@lee ~]# du 16 ./.gnupg 4 ./公共的 68 ./Imaging-1.1.7/Scripts 372 ./Imaging-1.1.7/Docs 156 ./Imaging-1.1.7/Images 88 ./Imaging-1.1.7/Sane 2040 ./Imaging-1.1.7/PIL 28 ./Imaging-1.1.7/Tk 1464 ./Imaging-1.1.7/build/temp.linux-x86_64-2.7/libImaging 2156 ./Imaging-1.1.7/build/temp.linux-x86_64-2.7 1884 ./Imaging-1.1.7/build/lib.linux-x86_64-2.7 36 ./Imaging-1.1.7/build/scripts-2.7 4080 ./Imaging-1.1.7/build 596 ./Imaging-1.1.7/libImaging 7864 ./Imaging-1.1.7 264 ./jpeg-9/.deps 5512 ./jpeg-9/.libs 13272 ./jpeg-9 ...
s 参数 ,不把子目录列出来
[root@lee ~]# du -s ./* 4 ./anaconda-ks.cfg 4 ./a.py 31148 ./freetype-2.4.12 2072 ./freetype-2.4.12.tar.gz 7864 ./Imaging-1.1.7 488 ./Imaging-1.1.7.tar.gz 56 ./install.log 12 ./install.log.syslog 13272 ./jpeg-9 968 ./jpegsrc.v9.tar.gz 4 ./main.py 235488 ./mongodb-linux-x86_64-2.4.1 92044 ./mongodb-linux-x86_64-2.4.1.tgz 6548 ./PIL-1.1.7 496 ./PIL-1.1.7.tar.gz 4 ./pyc.sh 4 ./sup.sh 12 ./test 4 ./test.py 12 ./test.tgz 4964 ./www.nihaoagent.com_2012_12_18.tar.bz2 4224 ./zlib-1.2.8 560 ./zlib-1.2.8.tar.gz 4 ./公共的 4 ./模板 4 ./视频 4 ./图片 4 ./文档 4 ./下载 4 ./音乐 4 ./桌面
h 参数,以K,M,G为单位,提高信息的可读性
[root@lee ~]# du -sh ./* 4.0K ./anaconda-ks.cfg 4.0K ./a.py 31M ./freetype-2.4.12 2.1M ./freetype-2.4.12.tar.gz 7.7M ./Imaging-1.1.7 488K ./Imaging-1.1.7.tar.gz 56K ./install.log 12K ./install.log.syslog 13M ./jpeg-9 968K ./jpegsrc.v9.tar.gz 4.0K ./main.py 230M ./mongodb-linux-x86_64-2.4.1 90M ./mongodb-linux-x86_64-2.4.1.tgz 6.4M ./PIL-1.1.7 496K ./PIL-1.1.7.tar.gz 4.0K ./pyc.sh 4.0K ./sup.sh 12K ./test 4.0K ./test.py 12K ./test.tgz 4.9M ./www.nihaoagent.com_2012_12_18.tar.bz2 4.2M ./zlib-1.2.8 560K ./zlib-1.2.8.tar.gz 4.0K ./公共的 4.0K ./模板 4.0K ./视频 4.0K ./图片 4.0K ./文档 4.0K ./下载 4.0K ./音乐 4.0K ./桌面
a 参数,查看磁盘使用情况
[root@lee ~]# du -a ./*.gz 2072 ./freetype-2.4.12.tar.gz 488 ./Imaging-1.1.7.tar.gz 968 ./jpegsrc.v9.tar.gz 496 ./PIL-1.1.7.tar.gz 560 ./zlib-1.2.8.tar.gz
m 参数,以M为单位
[root@lee ~]# du -sm ./* 1 ./anaconda-ks.cfg 1 ./a.py 31 ./freetype-2.4.12 3 ./freetype-2.4.12.tar.gz 8 ./Imaging-1.1.7 1 ./Imaging-1.1.7.tar.gz 1 ./install.log 1 ./install.log.syslog 13 ./jpeg-9 1 ./jpegsrc.v9.tar.gz 1 ./main.py 230 ./mongodb-linux-x86_64-2.4.1 90 ./mongodb-linux-x86_64-2.4.1.tgz 7 ./PIL-1.1.7 1 ./PIL-1.1.7.tar.gz 1 ./pyc.sh 1 ./sup.sh 1 ./test 1 ./test.py 1 ./test.tgz 5 ./www.nihaoagent.com_2012_12_18.tar.bz2 5 ./zlib-1.2.8 1 ./zlib-1.2.8.tar.gz 1 ./公共的 1 ./模板 1 ./视频 1 ./图片 1 ./文档 1 ./下载 1 ./音乐 1 ./桌面
exclude 参数,排除指定文件
[root@lee ~]# du -s --exclude='zlib-1.2.8.tar.gz' ./* 4 ./anaconda-ks.cfg 4 ./a.py 31148 ./freetype-2.4.12 2072 ./freetype-2.4.12.tar.gz 7864 ./Imaging-1.1.7 488 ./Imaging-1.1.7.tar.gz 56 ./install.log 12 ./install.log.syslog 13272 ./jpeg-9 968 ./jpegsrc.v9.tar.gz 4 ./main.py 235488 ./mongodb-linux-x86_64-2.4.1 92044 ./mongodb-linux-x86_64-2.4.1.tgz 6548 ./PIL-1.1.7 496 ./PIL-1.1.7.tar.gz 4 ./pyc.sh 4 ./sup.sh 12 ./test 4 ./test.py 12 ./test.tgz 4964 ./www.nihaoagent.com_2012_12_18.tar.bz2 4224 ./zlib-1.2.8 4 ./公共的 4 ./模板 4 ./视频 4 ./图片 4 ./文档 4 ./下载 4 ./音乐 4 ./桌面
c 参数,显示文件或者目录总和
[root@lee ~]# du -sch * 4.0K anaconda-ks.cfg 4.0K a.py 31M freetype-2.4.12 2.1M freetype-2.4.12.tar.gz 7.7M Imaging-1.1.7 488K Imaging-1.1.7.tar.gz 56K install.log 12K install.log.syslog 13M jpeg-9 968K jpegsrc.v9.tar.gz 4.0K main.py 230M mongodb-linux-x86_64-2.4.1 90M mongodb-linux-x86_64-2.4.1.tgz 6.4M PIL-1.1.7 496K PIL-1.1.7.tar.gz 4.0K pyc.sh 4.0K sup.sh 12K test 4.0K test.py 12K test.tgz 4.9M www.nihaoagent.com_2012_12_18.tar.bz2 4.2M zlib-1.2.8 560K zlib-1.2.8.tar.gz 4.0K 公共的 4.0K 模板 4.0K 视频 4.0K 图片 4.0K 文档 4.0K 下载 4.0K 音乐 4.0K 桌面 391M 总用量
获取目录下所有文件的大小并倒序排列:
[root@lee ~]# du -sh * | sort -hr 230M mongodb-linux-x86_64-2.4.1 90M mongodb-linux-x86_64-2.4.1.tgz 31M freetype-2.4.12 13M jpeg-9 7.7M Imaging-1.1.7 6.4M PIL-1.1.7 4.9M www.nihaoagent.com_2012_12_18.tar.bz2 4.2M zlib-1.2.8 2.1M freetype-2.4.12.tar.gz 968K jpegsrc.v9.tar.gz 560K zlib-1.2.8.tar.gz 496K PIL-1.1.7.tar.gz 488K Imaging-1.1.7.tar.gz 56K install.log 12K test.tgz 12K test 12K install.log.syslog 4.0K 桌面 4.0K 音乐 4.0K 下载 4.0K 文档 4.0K 图片 4.0K 视频 4.0K 模板 4.0K 公共的 4.0K test.py 4.0K sup.sh 4.0K pyc.sh 4.0K main.py 4.0K a.py 4.0K anaconda-ks.cfg
网上有不少人再做这个需求时,是按n排序的,结果:
[root@lee ~]# du -sh * | sort -nr 968K jpegsrc.v9.tar.gz 560K zlib-1.2.8.tar.gz 496K PIL-1.1.7.tar.gz 488K Imaging-1.1.7.tar.gz 230M mongodb-linux-x86_64-2.4.1 90M mongodb-linux-x86_64-2.4.1.tgz 56K install.log 31M freetype-2.4.12 13M jpeg-9 12K test.tgz 12K test 12K install.log.syslog 7.7M Imaging-1.1.7 6.4M PIL-1.1.7 4.9M www.nihaoagent.com_2012_12_18.tar.bz2 4.2M zlib-1.2.8 4.0K 桌面 4.0K 音乐 4.0K 下载 4.0K 文档 4.0K 图片 4.0K 视频 4.0K 模板 4.0K 公共的 4.0K test.py 4.0K sup.sh 4.0K pyc.sh 4.0K main.py 4.0K a.py 4.0K anaconda-ks.cfg 2.1M freetype-2.4.12.tar.gz