Каков предложенный способ cron-автоматизации пакетов ZODB для экземпляра Plone для производства?

17

Глядя на plone.org, чтобы найти способ, чтобы периодически пакет ZODB моего экземпляра я только мог найти

задан silviot 14.03.2011 в 16:41
источник

7 ответов

25

Если вы используете ZEO, вы можете добавить в свой Crontab следующее:

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

Если вы не хотите делать это вручную, добавьте это в свой файл buildout.cfg, и запись crontab выше будет добавлена ​​автоматически при запуске 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
    
ответ дан zupo 14.03.2011 в 17:05
  • Я действительно думаю, что zeo должен быть по умолчанию: у него слишком много преимуществ по сравнению с настройками non-zeo. Спасибо за подсказку о z3c.recipe.usercrontab. –  silviot 16.03.2011 в 15:10
6

Если вы не используете ZEO:

curl -X POST -d 'days:float=0' http://admin:[email protected]calhost:8080/Control_Panel/Database/main/manage_pack
    
ответ дан chrigl 15.03.2011 в 10:21
5

Я делаю это так (от Ссылка ):

[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
    
ответ дан aclark 07.04.2011 в 02:32
2

Вы можете проверить collect.migrator . У него рецепт pack_db среди других.

    
ответ дан sureshvv 05.04.2011 в 19:51
2

Используйте zeopack для ZEO (см. другие ответы) и zodbpack для RelStorage (в комплекте, см. Документы RelStorage). Оба легко настраиваются.

    
ответ дан sdupton 14.04.2012 в 22:59
1

Для решения python / urllib см .: Ссылка

#!/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
    
ответ дан ccrownhart 15.03.2011 в 18:53
  • URL-адрес неправильный для современных установок Zope, он должен быть не менее ... / Database / main / manage_pack? ... или иметь другое имя базы данных в соответствии с конфигурацией вашего экземпляра. –  myroslav 17.03.2011 в 12:49
0

wget -O / dev / null -q --post-data = 'days: float = 10' --user = adminuser --password = password Ссылка

Если вы предпочитаете wget.     

ответ дан GregD 14.04.2012 в 21:20