Hướng dẫn kiểm tra dung lượng file thư mục chiếm dụng trong Linux

VPS (Virtual Private Server) là dạng máy chủ ảo, server ảo được tạo ra bằng phương pháp phân chia một máy chủ vật lý thành nhiều máy chủ khác nhau có tính năng tương tự như máy chủ riêng (dedicated server), chạy dưới dạng chia sẻ tài nguyên từ máy chủ vật lý ban đầu đó.
Mặc định khi bạn đăng ký mua 1 VPS ở các nhà cung cấp bạn phải đảm bảo rằng bạn đã có kiến thức sử dụng, vận hành cũng như quản trị làm chủ nó. Các nhà cung cấp khi bán cho bạn 1 VPS thường chỉ cài cho bạn Control Panel kèm theo như (DirectAdmin bản free, VestaCP, các Script như hocvps…) Và bạn chỉ việc sử dụng nó, nhưng bạn không nắm được rằng bạn cần tối ưu hóa lại VPS để chạy tốt hơn, trơn tru và mượt hơn.

Tuy nhiên trong quá trình vận hành và sử dụng bạn sẽ gặp một chút vấn đề là đầy dung lượng của VPS sử dụng hệ điều hành Linux, thì bài viết hôm nay mình sẽ hướng dẫn các bạn cách kiểm tra dung lượng trên Linux. 

Dung lượng ngày phát sinh trong quá trình sử dụng như những file upload, ảnh, text, các source mà bạn upload lên quên xóa, hay cấu hình backup tự động, các file backup được lưu trữ trong VPS luôn lâu ngày sẽ làm đầy.

Để thực hiện bạn cần thao tác như sau

Bước 1:  Đăng nhập vào VPS qua SSH 

Bước 2: Kiểm tra tổng quát dung lượng

Sử dụng lệnh df -h để kiểm tra tổng quán dung lượng.

Thông báo trả về

[[email protected] /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/ploop40347p1 20G 19G 15M 100% /
none 1.0G 4.0K 1.0G 1% /dev
none 1.0G 0 1.0G 0% /dev/shm

Tại đây bạn thấy dung lượng đã full 100%, chỉ còn trống 15MB. Áp dụng với phân vùng của thư mục root (hay còn thể hiện là / )

Kiểm tra chi tiết từng thư mục, file

Bạn truy cập về thư mục root bằng lệnh

cd /

Sau đó gỏ tiếp lệnh du -sh * để liệt kê chi tiết

du -sh *

Thông báo trả về như sau

# du -sh *
12K aquota.group
8.0K aquota.user
0 backup
6.8M bin
42M boot
4.0K dev
23M etc
16G home
291M lib
18M lib64
16K lost+found
4.0K media
4.0K mnt
4.0K opt
du: cannot access `proc/2597/task/2597/fd/4': No such file or directory
du: cannot access `proc/2597/task/2597/fdinfo/4': No such file or directory
du: cannot access `proc/2597/fd/4': No such file or directory
du: cannot access `proc/2597/fdinfo/4': No such file or directory
0 proc
188K root
7.1M sbin
4.0K selinux
4.0K srv
0 sys
60K tmp
938M usr
1.4G var

Ở thông báo trên thư mục home đang chiếm nhiều nhất là 16GB, tiếp tục truy cập vào thư mục home

cd /home

Gỏ tiếp lệnh du -sh * để liệt kê các file thư mục con trong thư mục chà là home

5.8G admin
11G backup



Tại đây bạn sẽ thấy thư mục admin và backup chiếm quá nhiều. tiếp tục truy cập vào thư mục backup xem có gì ở trong đó mà chiếm nhiều vậy

cd backup/

Mình gỏ lệnh ll để liệt kê, trong đây có đến 3 file backup được backup định kỳ

# ll
total 10662812
-rw-r----- 1 admin admin 4367093760 Jan 27 2018 admin.2018-01-27_14-45-14.tar
-rw-r----- 1 admin admin 3265228800 Oct 3 2018 admin.2018-10-03_14-14-18.tar
-rw-r----- 1 admin admin 3286374400 Oct 15 2018 admin.2018-10-15_11-01-55.tar

Gỏ tiếp lệnh du -sh * để liệt kê chi tiết, thông báo trả về 3 file chiếm quá lớn, 1 file 4GB và 2 file 3GB

# du -sh *
4.1G admin.2018-01-27_14-45-14.tar
3.1G admin.2018-10-03_14-14-18.tar
3.1G admin.2018-10-15_11-01-55.tar

Ngoài ra còn một số lệnh để bạn tìm file và thư mục lớn một cách nhanh chóng hơn.

Tìm 5 file lớn nhất: find -type f -exec du -Sh {} + | sort -rh | head -n 5

Tìm 5 thư mục lớn nhất: du -hs * | sort -rh | head -5

Xử lý các file

Các file backup trên mình không có nhu cầu sử dụng nữa, nên mình sẽ xóa nó đi bằng lệnh rm -rf . Tuy nhiên bạn cần xác định chính xác để tránh xóa nhầm nhé

rm -rf admin.2018-01-27_14-45-14.tar

Chúc các bạn thành công.