Linux server terminal với log files

Cấu hình logrotate trên Linux: tránh đầy disk và giữ log production ổn định

Khi hệ thống Linux chạy lâu ngày, thư mục /var/log sẽ phình rất nhanh nếu không có cơ chế xoay vòng log. Hậu quả thường gặp là đầy disk, dịch vụ lỗi ghi log và đôi khi kéo theo downtime ngoài ý muốn. Với production, keyword “cấu hình logrotate Linux” là một nhu cầu rất thực tế.

Logrotate là gì và vì sao quan trọng?

Logrotate là công cụ chuẩn trên Linux để rotate, nén, giữ lịch sử và xóa log cũ theo chính sách. Thay vì để log tăng vô hạn, anh có thể giới hạn theo ngày hoặc dung lượng, giúp hệ thống ổn định và dễ audit hơn.

Cài đặt và kiểm tra nhanh

sudo apt update
sudo apt install -y logrotate
logrotate --version

File cấu hình cần biết

  • /etc/logrotate.conf: cấu hình global
  • /etc/logrotate.d/: cấu hình riêng từng service
  • cron/systemd timer: lịch chạy rotate tự động

Ví dụ cấu hình cho Nginx

/var/log/nginx/*.log {
    daily
    rotate 14
    missingok
    notifempty
    compress
    delaycompress
    create 0640 www-data adm
    sharedscripts
    postrotate
        [ -s /run/nginx.pid ] && kill -USR1 `cat /run/nginx.pid`
    endscript
}

Cấu hình trên giữ 14 bản ghi theo ngày, nén log cũ và gửi tín hiệu reload file handle để Nginx ghi vào file mới sau khi rotate.

Các tham số hay dùng trong production

  • daily/weekly/monthly: tần suất rotate
  • rotate N: số bản backup giữ lại
  • size 100M: rotate theo ngưỡng dung lượng
  • compress + delaycompress: nén log tối ưu
  • copytruncate: dùng cho app không hỗ trợ reopen log

Test cấu hình trước khi áp dụng

sudo logrotate -d /etc/logrotate.conf
sudo logrotate -f /etc/logrotate.conf

Luôn chạy -d để debug trước. Chỉ force rotate khi cần kiểm thử nhanh để tránh xoay log sai chính sách.

Troubleshooting lỗi thường gặp

  • Permission denied: kiểm tra owner/group và quyền create
  • Rotate xong app không ghi log mới: thiếu postrotate signal
  • Log không rotate theo size: thiếu đơn vị (k/M/G) hoặc xung đột policy global

Checklist triển khai an toàn

  • Định nghĩa retention theo mức quan trọng của service
  • Đảm bảo còn đủ dung lượng cho giai đoạn transition
  • Giám sát dung lượng /var/log bằng alert
  • Review policy mỗi 1-2 tháng

Kết luận

Logrotate là phần nhỏ nhưng ảnh hưởng trực tiếp tới độ ổn định hệ thống Linux. Chỉ cần cấu hình đúng và kiểm thử kỹ, anh sẽ giảm rõ rệt nguy cơ đầy disk và lỗi vận hành do log không kiểm soát.

Leave a Comment

Your email address will not be published. Required fields are marked *