Chúng tôi sử dụng mới nhất để quản lý các dịch vụ của mình trên các máy chủ Ubuntu. Họ tạo ra các bản ghi được đăng xuất thành /var/log/upstart/SERVICE_NAME.log
Sau đó hàng ngày, các tệp nhật ký được xoay bằng cách sử dụng tập lệnh logrotation đi kèm với 12.04 LTS:
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
Vấn đề là trong khi logrotate di chuyển các tệp, nó không xuất hiện để báo hiệu để bắt đầu đóng và mở lại các tệp, để lại quá trình viết mới bắt đầu để xóa PID.
init 1 root 8w REG 202,1 64 2431 /var/log/upstart/dbus.log.1 (deleted)
init 1 root 13w REG 202,1 95 2507 /var/log/upstart/acpid.log.1 (deleted)
init 1 root 14w REG 202,1 127 17377 /var/log/upstart/whoopsie.log.1 (deleted)
init 1 root 36w REG 202,1 122 6747 /var/log/upstart/SERVICE_NAME.log.1 (deleted)
init 1 root 37w REG 202,1 30 6762
Rõ ràng tôi có thể chuyển hướng đầu ra từ các dịch vụ của mình sang các tệp nhật ký khác, nhưng vấn đề vẫn sẽ ở đó cho các quy trình hệ thống. Ngoài ra tôi thà không phải xây dựng nhiều cơ sở hạ tầng hơn những gì tôi cần.
nocreate
chỉ thị, không chắc tại sao mọi người sẽ sử dụng chỉ thị này, đặc biệt là đối với các dịch vụ có khả năng viết rất nhiều sản phẩm