ZODB备份出错

时间:2013-06-02 12:54:22

标签: python zodb

我有标记0.92,我们用ZODB备份它。

这个程序突然运行很多时间,备份停止处理错误:

No handlers could be found for logger "ZODB.FileStorage"
Traceback (most recent call last):
  File "/usr/local/.../ZODB3-3.4.2/build/scripts-2.4/repozo.py", line 517, in ?
    main()
  File "/usr/local/.../ZODB3-3.4.2/build/scripts-2.4/repozo.py", line 510, in main
    do_backup(options)
  File "/usr/local/.../ZODB3-3.4.2/build/scripts-2.4/repozo.py", line 478, in do_backup
    do_incremental_backup(options, reposz, repofiles)
  File "/usr/local/.../ZODB3-3.4.2/build/scripts-2.4/repozo.py", line 378, in do_incremental_backup
    fs = FileStorage(options.file, read_only=True)
  File "build/lib.linux-x86_64-2.4/ZODB/FileStorage/FileStorage.py", line 163, in __init__
  File "build/lib.linux-x86_64-2.4/ZODB/FileStorage/FileStorage.py", line 1697, in read_index
  File "build/lib.linux-x86_64-2.4/ZODB/FileStorage/FileStorage.py", line 52, in panic
ZODB.FileStorage.FileStorage.CorruptedTransactionError: %s has invalid transaction header at %s

知道什么会导致ZODB备份停止工作吗?

Shlomit

2 个答案:

答案 0 :(得分:0)

我对ZODB并不熟悉。

我现在几天都没有备份,我担心如果我从上次备份恢复它,用户将丢失数据。 'ZODB filestorage'是常规文件而不是连接到用户数据吗?

正如我所说,我不熟悉,你能否详细说明我如何安全?我不想弄乱东西。

非常感谢,

Shlomit

答案 1 :(得分:0)

我想在这里为以后的疲倦旅行者提供一些信息。如果看到以上错误,则表明Data.fs文件已损坏。据我所知,让zope重新开始的唯一方法是在其上运行fsrecover.py: https://github.com/zopefoundation/ZODB/blob/master/src/ZODB/fsrecover.py

上面的文件实际上只会删除所有损坏的数据,但至少您会备份并运行。

祝你好运!