Programar tareas con crontab

Descripción general

Este es una configuración de zc.buildout programar tareas con crontab locales al usuario efectivo del proyecto.

Instalación

Puedes instalar zc.buildout usando pip (es recomendable hacerlo dentro de un entorno virtual):

$ pip install zc.buildout

Ahora crea una nueva configuración zc.buildout así:

$ mkdir buildout.crontab ; $ cd buildout.crontab

Inicializar el proyecto

$ python bootstrap.py

Ahora el nuevo directorio buildout.crontab es un proyecto zc.buildout. El archivo de configuración predeterminado de buildout es buildout.cfg. Después de la inicialización, tendrá el siguiente contenido:

[buildout]
parts =

Puedes cambiarlo a:

[buildout]

parts =
    restart-zope-daily

# 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
[restart-zope-daily]
recipe = z3c.recipe.usercrontab
times = 0 3 * * 0-6
command = ${buildout:bin-directory}/instance restart

Ahora ejecuta el comando buildout disponible dentro del directorio buildout.crontab/bin con el argumento -v (verbose mode), esto ayudará a que muestre todo los detalles de la construcción del mismo:

$ ./bin/buildout -vN

Ejecute el programa Bash script generado con el siguiente comando:

$ crontab -l

# Generated by /home/macagua/Plone/zinstance [restart-zope-daily]
0 3 * * 0-6     /home/macagua/buildout.crontab/bin/instance restart
# END /home/macagua/Plone/zinstance [restart-zope-daily]

Y de esta forma se ha generado la tarea del crontab que reinicia la instancia de Zope diariamente a las 3 am.

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.crontab.git

Artículos relacionados

Ver también

Artículos sobre replicación de proyectos Python.

los comentarios son proporcionados por Disqus

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. Vaya hacia el articulo Programar tareas con crontab 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 haya 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 serán consultados por 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.