今天的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
可以發現是日志占用了大量的空間,查看這個日志文件后,發現沒有太多使用價值,果斷刪除掉。通過這個事情,我們反思,寫一個自動化的腳本去管理磁盤空間,當磁盤剩余空間下降到一定值得時候,就提醒管理員和自動去刪除一些不需要的文件。