今天的CI突然failed掉了, 一下子挂掉好多case,吓我一大跳。因为一般也不会一下错误这么多case,应该不是case本身的问题,可能是环境除了状况。登陆到环境的服务器上,很快发现是流服务器的磁盘空间满了。
- [root@localhost /]# df -h
- Filesystem Size Used Avail Use% Mounted on
- /dev/mapper/VolGroup-lv_root
- 143G 143G 0G 100% /
- tmpfs 1007M 420K 1007M 1% /dev/shm
- /dev/sda1 194M 22M 163M 12% /boot
返回根目录:
- [root@localhost /]# du --max-depth=1 -h
- du: cannot access `./proc/21912/task/21912/fd/4\': No such file or directory
- du: cannot access `./proc/21912/task/21912/fdinfo/4\': No such file or directory
- du: cannot access `./proc/21912/fd/4\': No such file or directory
- du: cannot access `./proc/21912/fdinfo/4\': No such file or directory
- 0 ./proc
- 552K ./tmp
- 24K ./srv
- 4.0K ./selinux
- 26G ./usr
- 1.9G ./backup
- 12K ./.dbus
- 16K ./lost+found
- du: cannot access `./var/www/html/content/adp_SD/20131229T101314-01-15054.ts\': No such file or directory
- 72G ./var
- 95M ./lib
- 28G ./root
- 17M ./boot
- 95M ./vobs
- 0 ./sys
- 6.5M ./bin
- 4.0K ./media
- 14M ./sbin
- 617M ./mnt
- 3.4G ./opt
- du: cannot access `./home/iptv/.gvfs\': Permission denied
- 3.4G ./home
- 30M ./etc
- 584K ./dev
- 143G .
很快可以发现/usr,/var, /root这三个目录的空间占用比较多,进入这几个目录分别运行这个目录,可以很快发现是哪些目录占用了大量的空间。
进入到这些目录
- [root@localhost logs]# pwd
- /usr/local/apache/logs
- [root@localhost logs]# du -sh
- 22G .
- [root@localhost logs]# ls -la
- total 22102732
- drwxr-xr-x 2 root root 4096 2013-12-30 00:20 .
- drwxr-xr-x 16 root root 4096 2013-09-09 04:22 ..
- -rw-r--r-- 1 root root 8015990563 2013-12-30 01:54 access_log
- -rw-r--r-- 1 root root 174984 2013-12-30 00:15 error_log
- -rw-r--r-- 1 root root 6 2013-12-05 01:45 httpd.pid
- -rw-r--r-- 1 root root 14614376912 2013-12-30 01:54 rewrite.log
- -rw-r--r-- 1 root root 2540601 2013-12-30 00:16 ssl_request_log
可以发现是日志占用了大量的空间,查看这个日志文件后,发现没有太多使用价值,果断删除掉。通过这个事情,我们反思,写一个自动化的脚本去管理磁盘空间,当磁盘剩余空间下降到一定值得时候,就提醒管理员和自动去删除一些不需要的文件。