Kami menggunakan pemula untuk mengelola layanan kami di server Ubuntu kami. Mereka menghasilkan log yang logout ke /var/log/upstart/SERVICE_NAME.log
Kemudian setiap hari, file log diputar menggunakan skrip logrotation yang dilengkapi dengan 12,04 LTS:
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
Masalahnya adalah bahwa sementara logrotate memindahkan file, tampaknya tidak memberi sinyal untuk memulai baru untuk menutup dan membuka kembali file, membiarkan proses pemula menulis ke PID hapus.
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
Jelas saya bisa mengarahkan output dari layanan saya sendiri ke file log lainnya, tetapi masalahnya masih ada di sana untuk proses sistem. Juga saya lebih suka tidak perlu membangun lebih banyak infrastruktur daripada yang saya butuhkan.
nocreate
direktif, tidak yakin mengapa ada orang yang menggunakan direktif ini, terutama untuk layanan yang berpotensi bisa menulis banyak output