这两天又败了3个VPS,另外把网站也手痒折腾了一下,在整理VPS的时候发现,有些VPS明明没有跑什么东西,总是莫名其妙的少空间,“我的 VPS 没装新东西,为什么硬盘越用越少了?”,很多玩VPS的可能也和我一样有过这样的问题,度娘了一下,发现这多半是因为系统上的各种日志长期积累下来的结果,比如 nginx, apache 等留下来的访问日志信息长时间不清理、而且访问量大的话会很容易就膨胀到 GB;有时候某种应用程序的日志藏在文件系统的深处,不易发觉;有时候自己拷贝了一些大文件放在某个地方时间长了就忘了。那么如何在 Linux 系统上找到这些占用硬盘空间的文件呢?
首先我们可以统计一下根目录下各个目录占用硬盘的情况,找出最占用硬盘的那个目录:
[root@host]# du -sh /*
0 /aquota.group
0 /aquota.user
5.0M /bin
4.0K /boot
4.0K /dev
5.2M /etc
8.7G /home
24M /lib
4.0K /media
4.0K /mnt
4.0K /opt
0 /proc
657M /root
22M /sbin
4.0K /selinux
4.0K /srv
0 /sys
107M /tmp
1.1G /usr
92M /var
从上面可看出 /home 占用了最多的硬盘,我们去看看 /home 下哪些目录占用了最多的空间:
[root@host]# du -sh /home/*
5.6G /home/host
534M /home/logs
16K /home/mysql
2.5G /home/www
可以看到 host 这个目录 /home/host 用掉了最多的硬盘(5.6GB),我们再看看 /home/host 下究竟哪些文件占用了空间,用下面的一行命令找出某个目录下(这里是 /home/host)大小超过 500MB 的文件(打印前40行并按照 MB 从小到大排列):
[root@host]# find /home/host -printf “%k %p\n” | sort -g -k 1,1 | \awk ‘{if($1 > 500000) print $1/1024 “MB” ” ” $2 }’ |tail -n 40
597.484MB /home/host/img/blog.zip
1560.26MB /home/host/uploads/uploads.rar