Este es una configuración de zc.buildout programar tareas con crontab locales al usuario efectivo del proyecto.
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.
Para descargar el código fuente de este ejemplo ejecute el siguiente comando:
$ git clone https://github.com/plone-ve/buildout.crontab.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.