Cách tìm file và thư mục (folder) dung lượng lớn nhất trên VPS Linux

Hướng dẫn cách tìm file và thư mục (folder) chiếm dung lượng nhiều nhất trên VPS Linux để giải phóng bớt dung lượng ổ cứng VPS/Server. Nào, cùng tham khảo ngay 2 lệnh kiểm tra dung lượng thư mục Linux hay được sử dụng nhất dưới đây nhé.

Cách tìm file và thư mục (folder) dung lượng lớn nhất trên VPS Linux

1. Lệnh "du" trong Linux

Lệnh "du"là 1 trong những lệnh kiểm tra dung lượng thư mục Linux được sử dụng thường xuyên nhất. Ta sẽ tìm kiếm theo cách tuần tự các thư mục có dung lượng lớn. Đó là chương trình sẽ thống kê top các thư mục đang có dung lượng lớn nhất. Sau đó, chúng ta chỉ cần kiểm tra tuần tự các thư mục đang có dung lượng lớn đó.

Cấu trúc lệnh:

du -hs /path/ | sort -rh | head -n 10

Chú thích:

  • /path/: đường dẫn thư mục mà bạn muốn kiểm tra.
  • -h: in ra dung lượng thư mục /file theo format thuận tiện cho người đọc (MB, GB).
  • -s: chỉ hiển thị tổng dung lượng.
  • sort: lệnh dùng để sắp xếp ký tự.
  • -r: đảo ngược chiều output của lệnh sort.
  • -h: dùng để so sánh, sắp xếp các số theo kiểu dung lượng (2K, 1G,...)
  • head -n 10: lấy 10 dòng đầu tiên của output.

Xem ví dụ sau:

# du -hs /var/log/* | sort -rh | head -n 10

767M /var/log/nginx

183M /var/log/sa

46M /var/log/resources-monitor

9.1M /var/log/maillog-20170911

8.2M /var/log/maillog-20170903

8.0M /var/log/maillog-20170827

6.4M /var/log/maillog-20170917

4.8M /var/log/maillog

4.4M /var/log/messages-20170911

3.8M /var/log/messages-20170903

# du -hs /var/log/nginx/* | sort -rh | head -n 10

469M /var/log/nginx/domains

297M /var/log/nginx/vhost_error.log

1.1M /var/log/nginx/error.log

556K /var/log/nginx/access.log

2. Lệnh “find” trong Linux

Lệnh find trong Linux là một trong những lệnh khá mạnh trong việc tìm kiếm thư mục/file theo các thông tin cần được lọc. Cũng như là hỗ trợ lệnh khác xử lý các output đã được tìm thấy (-exec). Với cấu trúc lệnh như dưới đây sẽ thống kê rất chi tiết các file/thư mục nào đang có dung lượng lớn nhất.

Cấu trúc lệnh

find /var/log/ -type f -exec du -Sh {} + | sort -rh | head -n 10

Chú thích:

  • type [ f | d ]: nếu bạn dùng option f, tức là bạn chỉ muốn tìm kiếm file và kiểm tra dung lượng file đã tìm thấy. Nếu bạn dùng option d thì bạn chỉ muốn tìm kiếm thư mục và kiểm tra dung lượng thư mục đó.

  • -exec du -sh: lệnh này sẽ giúp lấy thông tin dung lượng của đối tượng file/thư mục.

Cùng xem tiếp ví dụ tiếp theo:

Liệt kê top 10 file có dung lượng cao nhất trong thư mục /var/log/:

# find /var/log/ -type f -exec du -Sh {} + | sort -rh | head -n 10

300M /var/log/nginx/vhost_error.log

268M /var/log/nginx/domains/cuongquach.com.log

157M /var/log/nginx/domains/tuhocmang.com.log

40M /var/log/nginx/domains/cuongquach.com.bytes

25M /var/log/resources-monitor/ram-monitor.log

22M /var/log/resources-monitor/load-avg-monitor.log

9.1M /var/log/maillog-20170911

8.2M /var/log/maillog-20170903

8.0M /var/log/maillog-20170827

6.4M /var/log/maillog-20170917

Liệt kê top 10 có dung lượng cao nhất trong thư mục /var/log:

# find /var/log/ -type d -exec du -Sh {} + | sort -rh | head -n 10

470M /var/log/nginx/domains

302M /var/log/nginx

184M /var/log/sa

67M /var/log/

46M /var/log/resources-monitor

1.5M /var/log/anaconda

172K /var/log/audit

32K /var/log/tuned

4.0K /var/log/ppp

4.0K /var/log/pluto/peer

Chúc bạn thành công!