1.備份方式
neo4j目前有三種備份方式:
(1)java在線備份,通過java程序可在neo4j啟動狀態下備份數據,也可遠程備份(社區版本目前不支持)
(2)neo4j-admin工具,可在neo4j數據庫關閉情況下本地備份
(3)neo4j-backup工具,可在neo4j啟動狀態下在線備份,可遠程備份。
采用以上備份之前,需要在conf/neo4j.conf中配置如下內容:
dbms.backup.enabled=true
dbms.backup.address=<主機名或者ip>:6362
2.備份操作
(1)neo4j-admin的操作,需要關閉數據庫,不然會出現以下錯誤:
數據庫關閉之后,執行neo4j-admin操作,如: neo4j-admin dump --database=graph.db --to=/home/neo4j/databackup/20190222.dump 表示將graph.db數據庫備份到/home/neo4j/databackup目錄下,文件名稱為:20190222.dump。
(2)neo4j-admin的遠程增量備份(數據庫需運行),其中fallback-to-full=true表示當正能量備份發生錯誤時候,轉換成全量備份。(好處是當前庫是最新的)
neo4j-admin backup --from 192.168.0.10 --backup-dir=/home/neo4j/databackup/ --name=graph.db_zlbf --fallback-to-full=true --check- consistency=true
3.恢復
使用neo4j-admin命令進行恢復操作,恢復之前數據庫需要關閉。
(1)dump文件恢復
neo4j-admin load --from=/home/neo4j/databackup/ 20190222.dump --database=graph.db --force
(2)備份數據文件恢復
neo4j-admin restore --from=/home/neo4j/databackup/graph.db_backup --database=graph.db --force
一個是load,一個是restore。
(3)一個簡單的備份腳本,添加到linux的crontab下,定時執行。
time=date '+%y-%m-%d %H:%M:%S' file=date '+%y-%m-%d' echo $time echo $file echo ‘開始備份…’ /home/neo4j/neo4j-enterprise-2.3.1/bin/ neo4j-admin backup --from 192.168.0.10 --backup-dir=/home/noe4j/databackup/$file --name=graph.db echo ‘備份完成’
完~~~~