PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Squid und logrotate



Malemuc
07.04.09, 12:42
Hallo,

ich hab hier ein Problem mit logrotate.

Soweit ich das jetzt verstanden habe, wird für squid unter Debian im Verzeichnis /etc/logrotate.d ein Script abgelegt, dass dann ausgeführt wird.


/var/log/squid/*.log {
daily
compress
delaycompress
rotate 2
missingok
nocreate
sharedscripts
postrotate
test ! -e /var/run/squid.pid || /usr/sbin/squid -k rotate
endscript
}

Wird jetzt logrotate ausgeführt, schreibt er z.B. die access.log neu, mit dem User und der Gruppe "root". Das führt jetzt bei uns dazu, dass nach dem logrotate squid nicht mehr startet, weil squid als user/gruppe "proxy" hat und er jetzt auf die access.log keinen Zugriff erhält. (Fehlermeldung im Log)

Sobald ich access.log wieder "proxy" zuweise, geht squid wieder.

Das ist natürlich etwas unkomfortabel, weil ich das dann immer per Hand machen muss. Geht das vielleicht irgendwie anders auch? Kann ich das vielleicht in dieses o.g. script mit einfügen?

Gruß

Martin

marce
07.04.09, 12:47
abgesehen davon, daß dieses Verhalten nicht unbedingt richtig klingt - im Postrotate-Bereich wäre dafür sicherlich ein guter Platz...

Malemuc
07.04.09, 13:16
Hallo,

war für mich bis jetzt die einzige Erklärung. Denn immer nachdem logrotate gelaufen war, ist squid mit der Fehlermeldung, dass er nicht mehr starten kann, weil er keinen Schreibzugriff auf access.log hat abgestürzt.

D.h. ich füge nach der Zeile test !.... einfach chown proxy.proxy /var/log/squid/access.log ein?

Martin