Dọn dẹp server chạy bằng cơm

Photo of author

By Admin

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:

log server
Kết quả dung lượng tại ổ đĩa gốc

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é.


Viết một bình luận