Cách tìm và xóa file dung lượng lớn trên VPS hoặc Máy chủ
Dung lượng ổ cứng trên VPS hoặc máy chủ của bạn bỗng dưng đầy lên một cách bất thường? Đừng lo lắng, bài viết này sẽ hướng dẫn bạn 3 cách hiệu quả để tìm ra các file hoặc thư mục đang chiếm nhiều dung lượng nhất và cách xử lý chúng một cách an toàn.
1. Nguyên nhân phổ biến gây đầy ổ cứng
Trước khi bắt đầu, hãy cùng điểm qua một vài "thủ phạm" quen thuộc thường gây ra tình trạng này:
- File log quá lớn: Các file ghi nhật ký của hệ thống hoặc ứng dụng (trong /var/log) không được xoay vòng (rotate) và lớn dần theo thời gian.
- Các bản sao lưu cũ: Các file backup dạng .tar, .zip, .sql bị bỏ quên.
- File tạm (temporary files): Thư mục /tmp chứa các file tạm không được dọn dẹp.
- Thùng rác của người dùng: Đôi khi người dùng root xóa file nhưng chúng vẫn còn trong thư mục rác.
2. Các phương pháp tìm file dung lượng lớn
Dưới đây là 3 công cụ dòng lệnh từ cơ bản đến nâng cao để giúp bạn truy tìm các file "khổng lồ".
Phương pháp 1: Dùng lệnh find (Cơ bản)
Đây là cách bạn đã đề cập, rất hữu ích để tìm các file có kích thước cụ thể. Chúng ta có thể cải tiến lệnh một chút để cho ra kết quả dễ đọc hơn.
Lệnh tìm tất cả file lớn hơn 1GB trên toàn hệ thống:
Giải thích lệnh:
- find /: Bắt đầu tìm kiếm từ thư mục gốc.
- -type f: Chỉ tìm kiếm file, bỏ qua thư mục.
- -size +1G: Tìm các file có dung lượng lớn hơn 1 Gigabyte. Bạn có thể thay bằng +100M cho 100 Megabyte, hoặc +10G cho 10 Gigabyte.
- -exec ls -lh {} ;: Thực thi lệnh ls -lh để hiển thị thông tin chi tiết (bao gồm dung lượng dễ đọc) của file tìm thấy.
- 2>/dev/null: Ẩn các thông báo lỗi (ví dụ: "Permission denied").
Phương pháp 2: Dùng lệnh du và sort (Nâng cao)
Phương pháp này rất mạnh mẽ để tìm ra các thư mục đang chiếm nhiều dung lượng nhất.
Lệnh tìm 10 thư mục/file lớn nhất trong một đường dẫn cụ thể (ví dụ: /var):
Lệnh này sẽ liệt kê 10 mục chiếm dung lượng nhiều nhất trong thư mục /var, giúp bạn khoanh vùng vấn đề nhanh chóng.
Phương pháp 3: Dùng ncdu (Khuyên dùng & Thân thiện)
ncdu (NCurses Disk Usage) là công cụ phân tích dung lượng ổ đĩa với giao diện trực quan ngay trên terminal. Nó cho phép bạn dễ dàng điều hướng qua các thư mục và xem mục nào đang tốn dung lượng.
Bước 1: Cài đặt ncdu
sudo yum install ncdu
# Đối với Ubuntu/Debian
sudo apt-get install ncdu
Bước 2: Chạy quét
Để quét toàn bộ hệ thống, chỉ cần chạy lệnh:
Sau khi quét xong, bạn có thể dùng các phím mũi tên để di chuyển, xem và thậm chí xóa các file/thư mục trực tiếp từ giao diện của ncdu.
Cảnh báo quan trọng trước khi xóa
Không phải file lớn nào cũng là file rác! Trước khi xóa bất kỳ file nào, hãy chắc chắn rằng bạn biết đó là file gì. Việc xóa nhầm các file của hệ điều hành hoặc cơ sở dữ liệu có thể làm hỏng hoàn toàn VPS của bạn.
Mẹo an toàn: Nếu bạn phát hiện một file log (ví dụ: error.log) quá lớn, thay vì xóa nó bằng lệnh rm, hãy làm rỗng file bằng lệnh sau. Cách này an toàn hơn vì nó không xóa file inode, tránh gây lỗi cho các tiến trình đang chạy.