对于生产Plone实例,cron自动化ZODB包的建议方法是什么?

sil*_*iot 17 cron zope plone pack zodb

看plone.org找到一种方法来定期打包我的实例的ZODB我只能找到http://plone.org/documentation/faq/how-do-i-pack-the-zodb,而不是谈论自动化包,但只是手动启动的.

我知道我可以使用wget或curl模拟手动包,但我想知道这是否是生产网站使用的最佳实践.

zup*_*upo 25

如果您使用的是ZEO,可以将以下内容添加到Crontab中以执行此操作:

0 1 * * 6 <path-to-buildout>/bin/zeopack
Run Code Online (Sandbox Code Playgroud)

如果您不想手动执行此操作,请将其添加到buildout.cfg,并在运行bin/buildout时自动添加上面的crontab条目:

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
Run Code Online (Sandbox Code Playgroud)

  • 我认为zeo应该是默认的:它比非zeo设置有太多的优势.感谢您关于z3c.recipe.usercrontab的提示. (2认同)

小智 6

如果您不使用ZEO:

curl -X POST -d 'days:float=0' http://admin:admin@localhost:8080/Control_Panel/Database/main/manage_pack
Run Code Online (Sandbox Code Playgroud)


acl*_*ark 5

我是这样做的(来自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
Run Code Online (Sandbox Code Playgroud)