Autor(es): | Leonardo J. Caballero G. |
---|---|
Correo(s): | leonardocaballero@gmail.com |
Lanzamiento: | 0.1 |
Fecha: | 16 de Feb del 2013 |
Este es una configuración básica de zc.buildout que explica como configurar tarea de crontab de rotación de archivos log, para esto usará la misma configuración del paquete Zope en Debian GNU/Linux que entenderá el programa crontab para realizar esta tarea.
Dentro de su directorio de buildout debe crear los la siguiente estructura de archivos:
$ mkdir ./templates ; mkdir ./etc ;
Luego creamos una plantilla del archivo de configuración crontab:
$ vim ./templates/logrotate.conf.tmpl
Y debe agrega la siguiente configuración al archivo logrotate.conf.tmpl :
## Logrotate configuration file fo Zope Debian package
## /etc/logrotate.d/zope2.10
${buildout:directory}/var/log/instance.log ${buildout:directory}/var/log/instance-Z2.log {
rotate 52
weekly
create
compress
delaycompress
sharedscripts
postrotate
/bin/kill -USR2 $(cat ${buildout:directory}/var/instance.pid)
${buildout:bin-directory}/instance logreopen
endscript
}
Cree un archivo de configuración logrotate.cfg y agregue nuevas secciones como se muestra a continuación:
[buildout]
parts +=
logrotate
logrotate-daily
# Este récipe ayuda a inicializar un archivo de configuración de logrotate
# Para mayor información ver http://pypi.python.org/pypi/collective.recipe.template
[logrotate]
recipe = collective.recipe.template
input = ${buildout:directory}/templates/logrotate.conf.tmpl
output = ${buildout:directory}/etc/logrotate.conf
# Este récipe ayuda a configurar una tarea de crontab de rotación de archivos log.
# Para mayor información ver http://pypi.python.org/pypi/z3c.recipe.usercrontab
[logrotate-daily]
recipe = z3c.recipe.usercrontab
times = 0 6 * * *
command = /usr/sbin/logrotate --state ${buildout:directory}/var/logrotate.status ${logrotate:output}
Luego edite su archivo de configuración buildout.cfg y agregue en la declarativa extends la siguiente linea:
extends =
logrotate.cfg
Ahora ejecuta el comando buildout con el argumento -v (verbose mode), esto ayudará a que muestre todo los detalles de la construcción del mismo.
$ ./bin/buildout -vN
Muestre la lista de las tareas del programa crontab con el siguiente comando:
$ crontab -l
# Generated by /home/macagua/Plone/zinstance [logrotate-daily]
0 6 * * * /usr/sbin/logrotate --state /home/macagua/Plone/zinstance/var/logrotate.status /home/macagua/Plone/zinstance/etc/logrotate.conf
# END /home/macagua/Plone/zinstance [logrotate-daily]
Y de esta forma podrá ver registrado la tarea de rotas los archivos semanalmente.
Para descargar el código fuente de este ejemplo ejecute el siguiente comando:
$ git clone https://github.com/plone-ve/buildout.logrotate.git
Ver también
Artículos sobre replicación de proyectos Python.
El código fuente de este archivo esta hospedado en GitHub. Todos pueden actualizar y corregir errores en este documento con unos clic - sin necesidad de descargar.
Para mas información básica acerca de como actualizar este manual y referencia a sintaxis Sphinx, por favor consulte la guía Escribiendo y actualizando el manual.