0

我有 indico 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 备份停止工作吗?

什洛米特

4

2 回答 2

0

我不太熟悉 ZODB。

我已经有几天没有备份了,我担心如果我从上次备份中恢复它,用户会丢失数据。'ZODB 文件存储' 是普通文件而不是连接到用户数据吗?

正如我所说,我不熟悉你能提供更多细节我怎样才能安全地做到这一点?我不想把事情搞砸。

非常感谢,

什洛米特

于 2013-06-03T06:15:53.930 回答
0

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

上面的文件基本上只会删除任何损坏的数据,但至少你会备份并运行。

祝你好运!

于 2018-09-12T11:15:14.043 回答