Rotar archivos .log de Zope

Autor(es):Leonardo J. Caballero G.
Correo(s):leonardocaballero@gmail.com
Lanzamiento:0.1
Fecha:16 de Feb del 2013

Descripción general

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.

Instalación

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.

Descarga código fuente

Para descargar el código fuente de este ejemplo ejecute el siguiente comando:

$ git clone https://github.com/plone-ve/buildout.logrotate.git

Artículos relacionados

Ver también

Artículos sobre replicación de proyectos Python.

Contenidos

Acerca Plone

Esta es documentación para Plone®. Plone es un sistema de gestión de contenido popular, código abierto, escrito en el lenguaje de programación Python.




Editar este documento

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.

  1. Valla a Rotar archivos .log de Zope en GitHub.
  2. Presione el botón Fork. Este creara su propia copia personal de la documentación.
  3. Edite los archivos usando el editor de texto de GitHub desde su navegador Web
  4. Rellene en la caja de texto Commit message al final de la pagina indicando por que usted realizo estos cambios. Presione el botón Propose file change próximo a ese cuando allá finalizado.
  5. Luego diríjase a la página Send a pull request (no será necesario rellenar ningún texto adicional). Sólo tiene que pulsar el botón Send pull request.
  6. Sus cambios ahora sera consultados para un revisor dentro de la pestaña Pull requests del proyecto en Github.

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.