我上周写的有关 Neo4j在线备份工具的鲜为人知的事情之一是,从概念上讲,它包含两个部分:
- 将商店文件复制到您选择的位置
- 验证这些存储文件是否一致。
默认情况下,这两个命令都在您运行“ neo4j-backup”脚本时运行,但有时能够单独运行它们很有用。
如果我们只想执行复制存储文件这一过程的一部分,我们可以告诉备份工具使用' verify '标志跳过一致性检查:
$ pwd
/Users/markneedham/Downloads/neo4j-enterprise-2.0.0
$ ./bin/neo4j-backup -from single://127.0.0.1 -to /tmp/foo -verify false
Performing full backup from 'single://127.0.0.1'
Files copied
................ done
Done
如果我们在没有'verify'标志的情况下运行该程序,我们还将看到一致性检查器的输出:
$ ./bin/neo4j-backup -from single://127.0.0.1 -to /tmp/foo
Performing full backup from 'single://127.0.0.1'
Files copied
................ done
Full consistency check
.................... 10%
.................... 20%
.................... 30%
.................... 40%
.................... 50%
.................... 60%
.................... 70%
.................... 80%
.................... 90%
.................... 100%
Done
如果我们已经有备份并且只想运行一致性检查器,则可以运行以下命令:
$ java -cp 'lib/*:system/lib/*' org.neo4j.consistency.ConsistencyCheckTool /tmp/foo
Full consistency check
.................... 10%
.................... 20%
.................... 30%
.................... 40%
.................... 50%
.................... 60%
.................... 70%
.................... 80%
.................... 90%
.................... 100%
一致性工具本身带有“ config ”标志,使您可以控制要进行一致性检查的内容。
各种选项在org.neo4j.consistency.ConsistencyCheckSettings中定义。
例如,如果我们要更改写入一致性检查报告的文件,则可以在配置文件中添加以下属性:
$ tail -n 1 conf/neo4j.properties
consistency_check_report_file=/tmp/foo.txt
然后像这样运行一致性工具:
$ java -cp 'lib/*:system/lib/*' org.neo4j.consistency.ConsistencyCheckTool -config conf/neo4j.properties /tmp/foo
如果有任何不一致之处,现在将它们写入该文件,而不是商店目录中的文件。
您还可以将该“ config”标志传递给备份工具,并且在运行一致性检查时它将使用它。 例如
$ ./bin/neo4j-backup -from single://127.0.0.1 -to /tmp/foo -verify false -config conf/neo4j.properties
在大多数情况下,您不必担心这两个命令中的任何一个,但是我总是忘记各种选项,因此我认为最好在我脑海中浮现出来时再进行编写。
翻译自: https://www.javacodegeeks.com/2014/01/neo4j-backup-store-copy-and-consistency-check-at-mark-needham.html