Ich führe php5 FPM mit APC als Opcode- und Anwendungscache aus. Wie üblich schreibe ich PHP-Fehler in eine Datei.
Da das ziemlich groß wird, habe ich versucht, logrotate zu konfigurieren. Es funktioniert, aber nach der Rotation protokolliert PHP weiterhin die vorhandene Protokolldatei, auch wenn es umbenannt wird. Dies führt dazu, dass scripts.log eine 0B-Datei ist und scripts.log.1 weiter wächst.
Ich denke (habe nicht versucht), dass php5-fpm neu laden in Postrotate könnte dies beheben, aber das würde meinen APC-Cache jedes Mal löschen.
Weiß jemand, wie man das richtig funktioniert?
Ich habe festgestellt, dass die Option "copytruncate" für logrotate sicherstellt, dass sich der Inode nicht ändert. Im Grunde hat [sic!] Gesucht.
Das ist wahrscheinlich das, wonach Sie suchen. Entnommen aus: Wie funktioniert logrotate? - Linuxquestions.org .
Wie in meinem Kommentar geschrieben, müssen Sie verhindern, dass PHP in dieselbe (umbenannte) Datei schreibt. Beim Kopieren einer Datei wird normalerweise eine neue Datei erstellt, und das Abschneiden ist ebenfalls Teil des Namens dieser Option. Daher würde ich annehmen, dass die Option copytruncate eine einfache Lösung darstellt (von der Hilfeseite ):
%Vor%
Siehe auch: