1. 檢視當前本地磁碟的使用率概況,按目錄來統計大小排序。
# df -h
[root@Sp monitor]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 3.5G 4.1G 47% /
/dev/xvde2 50G 27G 20G 58% /data
10.135.54.64:/archive
1014G 386G 578G 41% /data/archive
複製程式碼
因為 /data/archive 是 NFS 網盤,整理本地硬碟的資料不需要包含進去,因此用 du --excluede 來排除一邊不檢查此FS。
# alias dua="du --exclude=/data/archive --exclude=/hash -sh * |sort -hr"
[root@Sp data]# pwd
/data
[root@Sp data]# dua
9.7G huishoubao
8.0G cdn
3.7G log
2.3G home
967M release
354M webroot
272M chenliang
259M shell
220M code
70M logs
69M redis
64M huming
58M tmp
49M upload
37M yangrongan
28M weiyuzhao
14M yuzhenghao
8.0M nginx_log
6.4M lucene
2.3M download
176K sftp
16K monitorlog
8.0K wwwroot
8.0K backup_nginx_log
4.0K wwwlogs
4.0K fulldisk.txt
4.0K disk.txt
4.0K backup
[root@Sp data]#
複製程式碼
可以用此方法進一步檢視大容量的目錄。
[root@Sp data]# cd log
[root@Sp log]# dua
1.8G all_log.log
976M task
607M cgi_server
499M nginxlogs
226M evaluationlogs
224M bossphplog
15M lhs.txt
13M monitor.err
5.7M qq_order_syc_opt.log
5.3M apple_warranty_server.log
4.2M bossviews
636K cgi_log_bak
304K rpclog_archive.log
92K fukang
28K fukang1
28K bossphpcache
16K all_log.log.1
8.0K all_log.log.5
8.0K all_log.log.3
4.0K monitor.info
4.0K log4cplus.properties
4.0K apple_warranty_detection.log
4.0K all_log.log.4
4.0K all_log.log.2
[root@Sp log]# ls -lh
total 1.9G
-rw-r--r-- 1 root root 1.8G Feb 12 15:40 all_log.log
-rw-r--r-- 1 root root 15K Apr 7 2017 all_log.log.1
-rw-r--r-- 1 root root 1.7K Apr 7 2017 all_log.log.2
-rw-r--r-- 1 root root 5.5K Apr 7 2017 all_log.log.3
-rw-r--r-- 1 root root 1.7K Apr 7 2017 all_log.log.4
-rw-r--r-- 1 root root 6.2K Apr 7 2017 all_log.log.5
-rw-r--r-- 1 root root 3.8K Feb 12 15:40 apple_warranty_detection.log
-rw-r--r-- 1 root root 5.3M Feb 12 15:40 apple_warranty_server.log
drwxr-xr-x 3 apache apache 4.0K Nov 16 21:48 bossphpcache
drwxr-xr-x 3 apache apache 4.0K Jan 10 16:36 bossphplog
drwxr-xr-x 3 apache apache 4.0K Nov 16 16:39 bossviews
drwxr-xr-x 2 huishoubao huishoubao 4.0K Feb 12 03:01 cgi_log_bak
drwxr-xr-x 4 root root 4.0K Feb 2 05:36 cgi_server
drwxr-xr-x 3 root root 4.0K Nov 16 17:22 evaluationlogs
-rw-rw-r-- 1 huishoubao huishoubao 88K Feb 12 14:42 fukang
-rw-rw-r-- 1 huishoubao huishoubao 25K Feb 1 12:53 fukang1
-rw-rw-r-- 1 huishoubao huishoubao 15M Feb 1 17:51 lhs.txt
-rw-r--r-- 1 root root 3.1K Aug 12 2017 log4cplus.properties
-rw-r--r-- 1 root root 13M Feb 12 15:39 monitor.err
-rw-r--r-- 1 root root 529 Feb 12 15:39 monitor.info
drwxr-xr-x 2 root root 4.0K Feb 11 23:00 nginxlogs
-rw-r--r-- 1 root root 5.7M Jul 26 2017 qq_order_syc_opt.log
-rw-r--r-- 1 root root 298K Feb 12 02:00 rpclog_archive.log
drwxr-xr-x 3 root root 4.0K Feb 12 00:00 task
複製程式碼
這裡可以看到一個 1.8G 的 log 檔案,但是檔案的更改日期是當前時間(Feb 12 15:40),也就是說程式正在使用。 可以用 tailf 來檢視正在寫入的資料。
# tailf ./all_log.log
複製程式碼
會看到一大堆輸出。 要判斷是什麼程式正在使用,可以用 fuser。
# fuser -auv ./all_log.log
[root@Sp log]# fuser -auv ./all_log.log
USER PID ACCESS COMMAND
./all_log.log: root 912 F.... (root)admin-supplemen
root 1148 F.... (root)admin-supplemen
root 1149 F.... (root)admin-supplemen
root 1150 F.... (root)admin-supplemen
root 1151 F.... (root)admin-supplemen
root 1355 F.... (root)api-cancel_orde
root 1356 F.... (root)api-cancel_orde
root 1357 F.... (root)api-cancel_orde
root 1358 F.... (root)api-cancel_orde
root 1359 F.... (root)api-cancel_orde
root 1360 F.... (root)api-cancel_orde
root 1361 F.... (root)api-cancel_orde
root 1362 F.... (root)api-cancel_orde
root 1363 F.... (root)api-cancel_orde
root 1364 F.... (root)api-cancel_orde
root 1365 F.... (root)api-cancel_orde
root 1366 F.... (root)api-cancel_orde
root 1367 F.... (root)api-cancel_orde
root 1368 F.... (root)api-cancel_orde
......
複製程式碼
可以看到有一些rpc或cgi程式正在使用 all_log.log,另外下面還有很多 php 程式。顯然這個檔案不能動。 繼續檢視發現 /data/log/cgi_server/base_product/ 下有7天以上的log檔案可以壓縮。 於是壓縮放到 /data/archive/logs/ 下對應的子目錄,需要建立子目錄。 不清楚放在哪裡的時候可以先find /data/archive/logs/ 下有沒有過去的 log 檔案。
[root@Sp logs]# ls -lh
total 44K
drwxr-xr-x 4 root root 4.0K Oct 30 19:22 boss
drwxrwxrwx 11 root root 4.0K Nov 25 14:30 cgilog
drwxr-xr-x 3 root root 4.0K Feb 12 11:22 loglib
drwxr-xr-x 2 root root 20K Feb 12 00:00 mysql
drwxr-xr-x 10 root root 4.0K Nov 3 15:26 nginx
drwxr-xr-x 8 root root 4.0K Feb 5 12:42 pvuv
drwxr-xr-x 10 root root 4.0K Jan 5 02:00 rpclog
[root@Sp logs]# find ./ -name '*base_product*'
./loglib/Sp/20180211/base_product.log.2018-02-10.gz
./loglib/Sp/20180211/base_product.log.2018-02-08.gz
./loglib/Sp/20180211/base_product.log.2018-02-05.gz
./loglib/Sp/20180211/base_product.log.2018-02-11.gz
./loglib/Sp/20180211/base_product.log.2018-02-09.gz
./loglib/Sp/20180211/base_product.log.2018-02-07.gz
./loglib/Sp/20180211/base_product.log.2018-02-06.gz
複製程式碼
[root@Sp base_product]# ls -lh
total 607M
-rw-r--r-- 1 root root 268M Feb 2 19:05 base_product.log.2018-02-02
-rw-r--r-- 1 root root 216M Feb 3 20:51 base_product.log.2018-02-03
-rw-r--r-- 1 root root 123M Feb 5 11:16 base_product.log.2018-02-05
-rw-r--r-- 1 root root 0 Feb 2 05:36 base_product.log.report.2018-02-02
-rw-r--r-- 1 root root 0 Feb 5 11:17 base_product.log.report.2018-02-05
[root@Sp base_product]# gzip base_product.log.2018-02-0*
[root@Sp base_product]# ls -lh
total 34M
-rw-r--r-- 1 root root 16M Feb 2 19:05 base_product.log.2018-02-02.gz
-rw-r--r-- 1 root root 13M Feb 3 20:51 base_product.log.2018-02-03.gz
-rw-r--r-- 1 root root 6.2M Feb 5 11:16 base_product.log.2018-02-05.gz
-rw-r--r-- 1 root root 0 Feb 2 05:36 base_product.log.report.2018-02-02
-rw-r--r-- 1 root root 0 Feb 5 11:17 base_product.log.report.2018-02-05
[root@Sp base_product]# mv ./base_product.log.2018-02-0*.gz /data/archive/logs/loglib/Sp/20180212/
[root@Sp base_product]# ls -lh
total 0
-rw-r--r-- 1 root root 0 Feb 2 05:36 base_product.log.report.2018-02-02
-rw-r--r-- 1 root root 0 Feb 5 11:17 base_product.log.report.2018-02-05
[root@Sp base_product]# pwd
/data/log/cgi_server/base_product
複製程式碼