Статьи

Neo4j Backup: Храните копию и проверку целостности в Mark Needham

Одна из малоизвестных вещей об онлайн-инструменте резервного копирования Neo4j , о котором я писал на прошлой неделе , заключается в том, что концептуально он состоит из двух частей:

  1. Копирование файлов магазина в любое место по вашему выбору
  2. Проверка соответствия этих файлов хранилища.

По умолчанию оба они запускаются при запуске сценария ‘neo4j-backup’, но иногда полезно иметь возможность запускать их отдельно.

Если мы хотим просто запустить копирование файлов хранилища как часть процесса, мы можем указать инструменту резервного копирования пропустить проверку согласованности, используя флаг « verify »:

1
2
$ pwd
/Users/markneedham/Downloads/neo4j-enterprise-2.0.0
1
2
3
4
5
$ ./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

Если бы мы запустили это без флага проверки, мы бы также увидели выходные данные средства проверки согласованности:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
$ ./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

Если у нас уже есть резервная копия и мы хотим запустить только проверку согласованности, мы можем запустить следующую команду:

01
02
03
04
05
06
07
08
09
10
11
12
$ 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 .

Например, если мы хотим изменить файл, в который записывается отчет проверки согласованности, мы можем добавить следующее свойство в наш файл конфигурации:

1
2
$ tail -n 1 conf/neo4j.properties
consistency_check_report_file=/tmp/foo.txt

А затем запустите инструмент согласованности следующим образом:

1
$ java -cp 'lib/*:system/lib/*' org.neo4j.consistency.ConsistencyCheckTool -config conf/neo4j.properties /tmp/foo

Если есть какие-либо несоответствия, они теперь будут записаны в этот файл, а не в файл в каталоге магазина.

Вы также можете передать этот флаг «config» инструменту резервного копирования, и он будет использовать его при запуске проверки согласованности. например

1
$ ./bin/neo4j-backup -from single://127.0.0.1 -to /tmp/foo -verify false -config conf/neo4j.properties

Большую часть времени вам не нужно слишком беспокоиться об одной из этих команд, но я всегда забываю, какие есть различные варианты, поэтому я подумал, что лучше написать их, пока они свежи в моей памяти.

Ссылка: партнера JCG Марка Needham в блоге