Резервное копирование Neo4j Community Edition в windows
В настоящее время я использую Neo4j Community версии 1.8.2 с Windows 8. Возможно ли резервное копирование БД версии сообщества neo4j в windows?
4 ответов
Как сказал Пангея, официальный инструмент резервного копирования доступен только на Enterprise Edition.
его предложение использовать инструменты резервного копирования Windows не является хорошим вариантом, если вы не знаете других вещей о Neo4j. Neo4j не очищает информацию сразу, как и Lucene, поэтому, если вы используете что-то вроде резервной копии Windows, вы не получите базу данных в стабильной резервной копии. Вам нужно либо использовать инструмент резервного копирования Neo4j, либо отключить базу данных Graph, чтобы все сбросы / закрытия, а затем резервное копирование с помощью Windows.
вот мои сценарии Powershell для Community edition
#http://stackoverflow.com/questions/1153126/how-to-create-a-zip-archive-with-powershell
function zipFiles()
{
param(
[Parameter(Mandatory=$true,Position=0)]$zipfilename
,[Parameter(Mandatory=$true,Position=1)]$sourcedir
)
Add-Type -Assembly System.IO.Compression.FileSystem
$compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal
[System.IO.Compression.ZipFile]::CreateFromDirectory($sourcedir, $zipfilename, $compressionLevel, $false)
}
#http://stackoverflow.com/questions/18612294
function BackupNeo4jCommunity
{
param(
[Parameter(Mandatory=$true,Position=0)]$serviceName
,[Parameter(Mandatory=$true,Position=1)]$sourceNeoFolder
,[Parameter(Mandatory=$true,Position=2)]$zipFilename
)
Stop-Service $serviceName
zipFiles $zipfilename $sourceNeoFolder
Start-Service $serviceName
}
BackupNeo4jCommunity -serviceName neoWindowsServiceName -sourceNeoFolder "D:\neo4j\myapp\data\graph.db" -zipFilename "D:\Downloads\neo-data.zip"
служба резервного копирования доступна только в enterprise edition. Вы можете запланировать регулярное резервное копирование файлов данных Neo4j с помощью инструменты, которые поставляются с Windows.
мы с другом!
они могут работать, но neo4j довольно явно в их руководстве:
напротив, копирование и вставка баз данных файловой системы не поддерживается [1]
так! Ваш путь установки neo4j имеет папку bin. В нем, у вас есть neo4j.bat
и neo4j-admin.bat
. Вы можете использовать их для остановки базы данных, дампа базы данных поддерживаемым способом и запуска резервной копии базы данных.
- убедитесь, что neo4j*.bat файлы знают, где ваш java есть. Например, используя метод установки chocolatey по умолчанию, вы можете иметь эту структуру файлов
'C:\tools\neo4j-community\neo4j-community-VERSION\java\jdkVERSION'
. Задать переменной JAVA_HOME переменная по мере необходимости окружающей среды. например, в PowerShell,$ENV:JAVA_HOME = 'C:\tools\neo4j-community\neo4j-community-VERSION\java\jdkVERSION'
- проверьте, если это сработало!
C:\tools\neo4j-community\neo4j-community-3.2.3\bin\neo4j-admin.bat help
. Если это не удалось, вы получите сообщение об ошибке, говорящее что-то вродеInvoke-Neo4jAdmin : Could not find java at...
- он работал? Остановите службу, создайте резервную копию, запустите службу.
вот супер простой пример; вы хотели бы проверить пути, добавить ошибку обращение и так далее.
$ENV:JAVA_HOME = 'C:\tools\neo4j-community\neo4j-community-VERSION\java\jdkVERSION'
C:\tools\neo4j-community\neo4j-community-VERSION\bin\neo4j.bat stop
C:\tools\neo4j-community\neo4j-community-VERSION\bin\neo4j-admin.bat dump --database graph.db --to=C:\temp\neo4j.dump
C:\tools\neo4j-community\neo4j-community-VERSION\bin\neo4j.bat start
этот код может измениться, если у вас есть пробелы в вашем пути, среди прочих отклонений среды...
удачи!