Sektionen
Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Support Dokumentation docs Zope / Plone: logrotate + cronjob in buildout konfigurieren

Zope / Plone: logrotate + cronjob in buildout konfigurieren

Um die Logdateien eines Plone Buildouts rotieren zu lassen, kann man wie unter Linux üblich logrotate verwenden. Dies lässt sich auch bequem über buildout konfigurieren.

Logrotate-Konfiguration einrichten

Man kann Logrotate mnauell oder besser, mit den anderen Konfiguration in der buildout.cfg konfigurieren.

Logrotate in der buildout.cfg konfigurieren

In der buildout.cfg fügen wie folgenden Part hinzu:

[logrotate]
recipe = collective.recipe.template
input = templates/logrotate.conf
output = ${buildout:directory}/etc/logrotate.conf

Jetzt benötigen wir ein Template welches unsere Logrotate-Konfiguration enthält:

daily
missingok
rotate 14
#mail admin@inqbus.de
compress
delaycompress
notifempty
size 1k

${buildout:directory}/var/log/instance.log ${buildout:directory}/var/log/instance-Z2.log {
sharedscripts
postrotate
/bin/kill -USR2 $(cat ${buildout:directory}/var/instance.pid)
endscript
}

Hier gegebenenfalls, die Pfade zu den einzelnen Logdateien anpassen oder erweitern und in der Datei ./templates/logrotate.conf ablegen.

Cronjob für logrotate

Wir können nun einfach einen Cronjob per Hand anlegen oder besser noch, dies auch gleich wie folgt in der buildout.cfg konfigurieren.

Cronjob für Logrotate in der buildout.cfg konfigurieren

Um jeden Tag die Log-Dateien um 00:05 rotieren zu lassen, erzeugen wir folgenden Cronjob.

[logrotatecronjob]
recipe = z3c.recipe.usercrontab
times = 5 0 * * *
command = /usr/sbin/logrotate -s ${buildout:directory}/var/log/logrotate-status ${buildout:directory}/etc/logrotate.conf

Buildout-Konfiguration aktivieren

Um die beiden definierten Parts zu aktivieren nehmen wir diese im Abschnitt [buildout] in die liste der Parts auf:

[buildout]
parts =
zope2
productdistros
instance
zopepy
backup
logrotate
logrotatecronjob

Nach aufruf von ./bin/buildout haben wir nun die Konfiguration abgeschlossen.

 

daily
missingok
rotate 14
#mail rk-service@fbeit.htwk-leipzig.de
compress
delaycompress
notifempty
size 1k
#${buildout:directory}/var/log/zeo.log {
#    postrotate
#        ${buildout:bin-directory}/zeo logreopen
#    endscript
#}

${buildout:directory}/var/log/instance.log ${buildout:directory}/var/log/instance-Z2.log {
sharedscripts
postrotate
/bin/kill -USR2 $(cat ${buildout:directory}/var/instance.pid)
endscript
}