浏览 1847 次 / [ 天下网闻 ] LINUX硬盘被日志等文件撑爆的排查及解决方法
  • 发布时间 2017-06-01 17:17
  • (via vpsee)经常收到我们的 VPS 用户询问,“我的 VPS 没装新东西,为什么硬盘越用越少了?”,这多半是因为系统上的各种日志长期积累下来的结果,比如 nginx, apache 等留下来的访问日志信息长时间不清理、而且访问量大的话会很容易就膨胀到 GB;有时候某种应用程序的日志藏在文件系统的深处,不易发觉;有时候自己拷贝了一些大文件放在某个地方时间长了就忘了。那么如何在 Linux 系统上找到这些占用硬盘空间的文件呢?

    首先我们可以统计一下根目录下各个目录占用硬盘的情况,找出最占用硬盘的那个目录:

    # du -sh /*
    6.2M        /bin
    17M        /boot
    136K        /dev
    97M        /etc
    147G        /home
    584M        /lib
    16M        /lib64
    16K        /lost+found
    8.0K        /media
    12K        /mnt
    252K        /opt
    0        /proc
    1.7G        /root
    28M        /sbin
    8.0K        /selinux
    3.1M        /srv
    0        /sys
    20K        /tmp
    1.9G        /usr
    748M        /var
    从上面可看出 /home 占用了最多的硬盘,我们去看看 /home 下哪些用户占用了最多的空间:

    # du -sh /home/*
    4.0K        /home/bak
    106M        /home/cos
    28K        /home/guest
    16K        /home/lost+found
    105G        /home/vpsee
    33G        /home/somebody
    8.2G        /home/abc
    可以看到 vpsee 这个用户和他的 home 目录 /home/vpsee 用掉了最多的硬盘(105GB),我们再看看 /home/vpsee 下究竟哪些文件占用了空间,用下面的一行命令找出某个目录下(这里是 /home/vpsee)大小超过 500MB 的文件(打印前40行并按照 MB 从小到大排列):

    # find /home/vpsee -printf "%k %p\n" | sort -g -k 1,1 | \
    awk '{if($1 > 500000) print $1/1024 "MB" " " $2 }' |tail -n 40

    647.68MB  /home/vpsee/linux/debian-504-amd64-CD-1.iso
    675.664MB /home/vpsee/linux/Fedora-13-i686-Live.iso
    677.656MB /home/vpsee/unix/osol-0906-x86.iso
    678.172MB /home/vpsee/linux/ubuntu-10.04-server-amd64.iso
    700.133MB /home/vpsee/linux/ubuntu-10.04-desktop-i386.iso
    1304.64MB /home/vpsee/mac/MacTeX.mpkg.zip
    可以看到 /home/vpsee 是个 iso 收藏狂,收了一堆 Linxu ISO 安装文件,以前拨号上网时代大家都喜欢收集一些软件和工具存在硬盘里,现在网络这么发达,这些旧习惯已经没必要了,ISO 文件可有可无,需要的时候就去下一个最新的,用不着自己保留,网络就是我们的硬盘。

    以上转载自:VPSEE