cron plone zope pack zodb

¿Cuál es la forma sugerida para cron-automatizar paquetes de ZODB para una instancia de Plone de producción?



zope pack (7)

Buscando en plone.org para encontrar una forma de empaquetar periódicamente el ZODB de mi instancia, solo pude encontrar http://plone.org/documentation/faq/how-do-i-pack-the-zodb que no habla de paquetes automatizados , pero solo iniciados manualmente.

Sé que puedo simular el paquete manual con wget o curl, pero me gustaría saber si esa es la mejor práctica para los sitios de producción.



Lo hago así (desde https://raw.github.com/plock/pins/master/zeo ):

[backup] recipe = collective.recipe.backup # Backup daily [backups] recipe = z3c.recipe.usercrontab times = 0 0 * * * command = ${buildout:bin-directory}/bin/backup # Pack once a month [packups] recipe = z3c.recipe.usercrontab times = 0 0 1 * * command = ${buildout:bin-directory}/bin/zeopack


Para una solución de python / urllib, consulte: http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/MaintainingZope.stx

#!/usr/bin/python import sys, urllib host = sys.argv[1] days = sys.argv[2] url = "%s/Control_Panel/Database/manage_pack?days:float=%s" % / (host, days) try: f = urllib.urlopen(url).read() except IOError: print "Cannot open URL %s, aborting" % url print "Successfully packed ZODB on host %s" % host


Si está utilizando ZEO, puede agregar lo siguiente a su Crontab para hacer esto:

0 1 * * 6 <path-to-buildout>/bin/zeopack

Si no desea hacerlo manualmente, agregue esto a su buildout.cfg y la entrada de crontab anterior se agregará automáticamente cuando ejecute bin / buildout:

parts += crontab_zeopack # pack your ZODB each Sunday morning and hence make it smaller and faster [crontab_zeopack] recipe = z3c.recipe.usercrontab times = 0 1 * * 6 command = ${buildout:directory}/bin/zeopack


Si no usa ZEO:

curl -X POST -d ''days:float=0'' http://admin:admin@localhost:8080/Control_Panel/Database/main/manage_pack


Use zeopack para ZEO (ver otras respuestas), y zodbpack para RelStorage (incluido, vea los documentos de RelStorage). Ambos son fáciles de configurar.