Trong quá trình cài đặt web, backup web hoặc web chạy lâu ngày sẽ có rất nhiều file có dung lượng lớn được lưu trữ mà không xóa, vì vậy việc dọn dẹp server là một vấn đề rất quan trọng trong quá trình bảo trì và vận hành tránh việc hao tổn tiền bạc và gây chậm web. Như bạn cũng đã biết, các file log hệ thống có thể ghi rất nhiều từ các file access.log, error.log, các file log của hệ thống… có thể tốn rất nhiều dung lượng. Cũng là nguyên nhân chính khi web truy cập rất chậm mà không rõ lý do.
Tron bài viết này mình sẽ trình bày 1 vài lệnh hay dùng để xóa các file không cần thiết (tìm thủ công) trên linux server. Việc xóa nhầm các file có thể ảnh hưởng nên file nào không chắc chắn đừng xóa nhé.
Bước 1: Truy cập vào server thông qua ssh
ssh root@your-ip
Hoặc nếu bạn dùng EC2 thì thường thông qua key.pem.
ssh -i /path/to/your/key.pem ec2-user@your-ec2-instance-public-dns Chi tiết như bên dưới:
ssh [email protected] -i ~/Desktop/key.pem
Bước 2: Tìm các file có dung lượng lớn
Di chuyển đến thư mục cần kiểm tra, đầu tiên chúng ta đi từ thư mục gốc.
cd /
Tiếp theo kiểm tra dung lượng các thư mục theo thứ tự giảm dần với câu lệnh sau:
sudo du -hsx * | sort -rh | head -10 Lệnh bên trên in ra 10 thư mục có dung lượng cao nhất theo thứ tự giảm dần
Trường hợp bạn muốn hiển thị tất cả các thư mục có thể sử dụng lệnh tương tự
du -h --max-depth=1 /path/to/web/directory | sort -hr
Kết quả thu được như sau:

Tiếp tục đi cd đi vào từng thư mục và kiểm tra dung lượng của các file bên trong. Giả sử ở đây mình sẽ kiểm tra thư mục chứa source code.
cd /home/vooclaptrinh
sudo sudo du -hsx * | sort -rh | head -10
Kết quả thu được như bên dưới, bạn có thể thấy thư mục log của mình đã chứa 78MB sau vài ngày.
[root@vooclaptrinh vooclaptrinh.com]# sudo sudo du -hsx * | sort -rh | head -10 212M public_html 78M logs 68K ssl
Bây giờ tiến hành làm sạch file log hiện tại
Bước 3: truncate các file log nặng và xóa các file không cần thiết
Việc xóa các file log nếu không cấp lại đúng quyền có thể dẫn đến lỗi không thể ghi vào file và lỗi server, vì vậy mình ưu tiên truncate (xóa rỗng bên trong file) với câu lệnh sau:
sudo truncate -s 0 ./access.log
Đây là dung lượng file lúc chưa truncate
[root@vooclaptrinh logs]# sudo sudo du -hsx * | sort -rh | head -10 78M access.log 48K error.log
Kết quả sau khi truncate ta được:
[root@vooclaptrinh logs]# sudo sudo du -hsx * | sort -rh | head -10 48K error.log 0 access.log
Tiếp theo một nơi chứa rất nhiều file log của các service trên hệ thống và những file log khá nặng đó là thư mục /var/log
cd /var/log
[root@vooclaptrinh log]# sudo sudo du -hsx * | sort -rh | head -10 105M secure 94M btmp 52M nginx 26M maillog 3.5M cron 2.8M anaconda 1.8M maillog-20220313 256K messages 84K boot.log 64K wtmp
Bên trong này có những file log rất nặng, có khi lên đến vài GB, bạn có thể truncate các file này nếu chúng quá nặng.
Để xóa 1 folder sử dụng command:
sudo rm -rf path-to-folder
Ngoài việc tìm xóa các file log. Việc dùng command trên tìm kiếm các file backup của các plugin WordPress vô tình để lại trong source code hoặc file backup của WHM, CPanel…. giúp ta tối ưu dung lượng server rất hiệu quả.
Server bên trên mình chỉ sử dụng viết blog nên các file còn khá nhẹ, tuy nhiên đối với các server product có nhiều người dùng thì việc tràn dung lượng thường xuyên diễn ra.
25G home 5.1G usr 4.8G var 838M root 676M opt 48M backup 43M etc 804K tmp 464K run 16K lost+found
Thư mục home có thể chứa khá nhiều file backup của các plugin. Vì vậy hãy thử check server của bạn nhé.