Zuvor hatte ich ein Problem beim Erstellen eines "Backups", wie in diesem Frage , bei der beim Versuch, die Datenbank wiederherzustellen, ein Fehler auftritt, weil ich eine Kopie erstellt habe, als die Datenbank ausgeführt wurde.
Also habe ich ein Experiment mit einer neuen Datenbank von einem anderen Computer (diesmal mit ubuntu) gemacht. Ich habe es versucht:
Ich bekomme einen Fehler:
%Vor%Der Fehler tritt nach 5 Sekunden auf, nicht nach 120 Sekunden.
Wie sollte ich offline in der neo4j-Community offline sichern und wiederherstellen?
Ich habe einige Posts gelesen, die Sie nur kopieren und wiederherstellen, aber das funktioniert nicht.
Danke für Ihre Hilfe
Die Online-Sicherung ist im Sinne einer konsistenten Sicherung während Neo4j nur in der Neo4j Enterprise Edition verfügbar. Das Backup der Enterprise Edition enthält auch eine ausführliche Konsistenzprüfung der Sicherung, die Sie auch nicht in der Community erhalten.
Die einzige sichere Option in der Community Edition ist es, Neo4j sauber herunterzufahren und den Ordner graph.db rekursiv zu kopieren. Ich verwende normalerweise:
%Vor%Wenn Sie neo4j herunterfahren möchten, bereinigen Sie einen vorhandenen Ordner graph.db und stellen Sie den ursprünglichen Ordner graph.db aus Ihrem Backup wieder her:
%Vor%Ich bin auch auf dieses Problem gestoßen und habe folgende zwei Codes geschrieben:
service neo4j stop && now=$(date +"%m_%d_%Y") && cd /var/lib/neo4j/data/databases/ && tar -cvzf /var/backups/neo4j/$now.gb.tar.gz graph.db && service neo4j start
service neo4j stop
= Stoppen Sie den neo4j-Dienst now=$(date +"%m_%d_%Y")
= deklariere das aktuelle Datum als Variable cd /var/lib/neo4j/data/databases/
= wechsle die Verzeichnisse in dein neo4j-Verzeichnis, wo sich graph.db befindet tar -cvzf /var/backups/neo4j/$now.gb.tar.gz graph.db
= Erstelle eine komprimierte Kopie der graph.db und speichere sie in /var/backups/neo4j/$now.gb.tar.gz
service neo4j start
= neo4j neustarten
service neo4j stop && cd /var/lib/neo4j/data/databases/ && rm -r graph.db && tar xf /var/backups/neo4j/10_25_2016.gb.tar.gz -C /var/lib/neo4j/data/databases/ && service neo4j start
service neo4j stop
= Stoppen Sie den neo4j-Dienst cd /var/lib/neo4j/data/databases/
= wechsle die Verzeichnisse in dein neo4j-Verzeichnis, wo sich graph.db befindet rm -r graph.db
= entferne die aktuelle graph.db und alle ihre Inhalte tar xf /var/backups/neo4j/10_25_2016.gb.tar.gz -C /var/lib/neo4j/data/databases/
= Extrahiere die Sicherung in das Verzeichnis, in dem sich die alte graph.db befand. Stellen Sie sicher, dass Sie den Dateinamen 10_25_2016.gb.tar.gz
an den Namen Ihrer Datei anpassen service neo4j start
= neo4j neustarten Info : Dies scheint für mich zu funktionieren, aber da ich nicht viel Erfahrung mit Bash Scripting habe, bezweifle ich, dass dies der optimale Weg ist. Aber ich denke, es ist verständlich und einfach anzupassen:)
Prost
Wenn Sie die Datei nicht herunterfahren und kopieren können, können Sie ein Cron-Skript schreiben, um die Daten von Neo4j zu holen und in einer anderen Datenbank zu speichern, sagen wir mongodb. Sie können auch Cron-Skript schreiben, um es wiederherzustellen.
Diese Methode ist nur für diejenigen, die kein Geld haben, um Enterprise Edition zu kaufen und kann seinen Server nicht herunterfahren.