Trên Ubuntu sử dụng systemd, toàn bộ log hệ thống thường được lưu trong thư mục:
Nếu server hoạt động lâu ngày, log journal có thể chiếm rất nhiều dung lượng ổ cứng. Tuy nhiên, không nên xóa thủ công bằng rm -rf vì có thể làm lỗi quyền hoặc gây mất ổn định dịch vụ logging.
Bài viết này sẽ hướng dẫn cách dọn log journal đúng chuẩn và an toàn.
1. Kiểm tra dung lượng log journal
Chạy lệnh:
Ví dụ:
Archived and active journals take up 3.2G in the file system.
2. Xóa log cũ theo thời gian (Khuyến nghị)
Giữ lại log trong 7 ngày gần nhất:
Hoặc giữ lại 3 ngày:
Đây là cách an toàn nhất vì systemd tự xử lý file log cũ.
3. Giới hạn dung lượng log journal
Ví dụ chỉ cho phép log dùng tối đa 500MB:
Systemd sẽ tự động xóa log cũ cho đến khi còn đúng dung lượng yêu cầu.
4. Giữ lại số lượng file log nhất định
Ví dụ chỉ giữ 5 file journal:
5. Cấu hình giới hạn log vĩnh viễn
Mở file cấu hình:
Tìm và chỉnh:
SystemKeepFree=1G
MaxRetentionSec=7day
Ý nghĩa:
-
SystemMaxUse → dung lượng tối đa cho journal
-
SystemKeepFree → luôn chừa dung lượng trống cho ổ cứng
-
MaxRetentionSec → thời gian lưu log
Sau đó restart service:
sudo systemctl restart systemd-journald
6. Có nên xóa toàn bộ /var/log/journal/ không?
Có thể, nhưng không khuyến nghị trên server production.
Nếu thật sự cần xóa sạch:
sudo rm -rf /var/log/journal/*
sudo systemctl start systemd-journald
Cách này sẽ mất toàn bộ lịch sử log hệ thống.
7. Cách an toàn nhất được khuyến nghị
Thông thường chỉ cần:
hoặc:
Là đủ để giải phóng dung lượng mà vẫn giữ log cần thiết cho việc debug hệ thống.
8. Kiểm tra lại sau khi dọn log
Nếu dung lượng đã giảm thì việc cleanup đã thành công.
Chúc các bạn thành công