13. tháng 2 2025
Hệ điều hành Ubuntu đã tích hợp sẵn chương trình logrotate, trong khi đó các hệ thống khác cần phải cài đặt thủ công. Để kiểm tra cấu xem kết quả tỷ số bóng đá hình, bạn có thể xem tệp /etc/logrotate.d/nginx.
# Phương pháp kiểm tra
# /usr/sbin/logrotate -f /etc/logrotate.d/nginx
/data/logs/*.log {
# Thực hiện luân chuyển mỗi ngày
daily
# Bỏ qua nếu không tìm thấy tệp nhật ký và tiếp tục xử lý những tệp khác
missingok
# Giới hạn số lần luân chuyển của một tệp nhật ký
rotate 10
compress
delaycompress
notifempty
create 0640 root root
# Đảm bảo rằng tập lệnh dưới đây chỉ chạy một lần khi có nhiều tệp nhật ký phù hợp
sharedscripts
# Nginx sẽ mở lại các tệp nhật ký sau khi nhận tín hiệu USR1
postrotate
[ -s /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}
Ví dụ: Quá trình luân chuyển nhật ký của nginx thất bại. Lý do sử dụng sudo là vì logrotate thường chạy mặc định dưới quyền root.
sudo /usr/sbin/logrotate -f /etc/logrotate.d/nginx
lỗi: lỗi khi tạo tệp đầu ra /var/log/nginx/access.log.1.gz: Permission denied
lỗi: lỗi khi tạo tệp đầu ra /var/log/nginx/error.log.1.gz: Permission denied
Sau khi điều chỉnh quyền cho thư mục nhật ký nginx, mọi thứ hoạt động bình thường.
sudo chown -R www-data:adm /var/log/nginx/
Một lần nữa, tôi đã gặp phải vấn đề liên quan đến quyền truy cập trên thư mục /var/log/nginx/, phát hiện ra rằng quyền của thư mục này đã bị thay đổi. Việc thực hiện lại lệnh chown đã giải quyết vấn đề. Tuy nhiên, vẫn chưa rõ nguyên nhân tại sao quyền của thư mục này lại bị thay đổi.