Wir verwenden Upstart, um unsere Dienste auf unseren Ubuntu-Servern zu verwalten. Sie erstellen Protokolle, die in /var/log/upstart/SERVICE_NAME.log abgemeldet werden
Dann werden die Protokolldateien täglich mithilfe des Protokollrotationsskripts gedreht, das mit 12.04 LTS geliefert wird:
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
Das Problem ist, dass logrotate die Dateien zwar verschiebt, aber kein Signal für einen Neustart zum Schließen und erneuten Öffnen der Dateien zu sein scheint, sodass der Startvorgang in eine Lösch-PID geschrieben wird.
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
Natürlich könnte ich die Ausgabe meiner eigenen Dienste auf andere Protokolldateien umleiten, aber das Problem wäre immer noch für die Systemprozesse vorhanden. Außerdem möchte ich lieber nicht mehr Infrastruktur aufbauen als ich brauche.
nocreate
Richtlinie, nicht sicher, warum jemand diese Richtlinie verwenden würde, insbesondere für Dienste, die möglicherweise eine Menge Ausgabe schreiben könnten