备份模式
备份客户端可以在两种不同的模式下运行——全量备份和差异备份。
全量备份
在向目标位置进行首次备份时,必须始终先进行全量备份。
全量备份可以针对在线数据库(使用企业版命令 neo4j-admin database backup)和离线数据库(使用 neo4j-admin database dump)运行。
neo4j-admin database backup
export HEAP_SIZE=2G
mkdir /mnt/backups
bin/neo4j-admin database backup --from=192.168.1.34 --to-path=/mnt/backups/neo4j --pagecache=4G neo4j
Doing full backup...
2017-02-01 14:09:09.510+0000 INFO [o.n.c.s.StoreCopyClient] Copying neostore.nodestore.db.labels
2017-02-01 14:09:09.537+0000 INFO [o.n.c.s.StoreCopyClient] Copied neostore.nodestore.db.labels 8.00 kB
2017-02-01 14:09:09.538+0000 INFO [o.n.c.s.StoreCopyClient] Copying neostore.nodestore.db
2017-02-01 14:09:09.540+0000 INFO [o.n.c.s.StoreCopyClient] Copied neostore.nodestore.db 16.00 kB
...
...
...
带有 --type=full 参数的 neo4j-admin database backup 命令会在 --to-path 指定的目标位置创建一个格式为 <databasename><timestamp>.backup 的全量备份工件文件。
neo4j-admin database backup 命令允许包含元数据,从而使备份能够存储与数据库关联的基于角色的访问控制(RBAC)元数据。
有关在线备份选项以及如何控制内存使用的更多信息,请参阅 备份在线数据库。
neo4j-admin database dump
neo4j-admin database dump 命令创建一个格式为 <databasename><timestamp>.dump 的单文件归档,并将其存储在 <NEO4J_HOME>/data 目录中(除非通过 --to-path=<path> 指定了其他路径)。
使用 neo4j-admin database dump 时,仅备份数据库数据。相关的用户和角色元数据不包含在内,必须在恢复后手动重新创建。详情请参阅 身份验证和授权。
有关针对离线数据库执行全量备份的更多信息,请参阅 备份离线数据库。
差异备份
在在线备份版本中,初始全量备份完成后,后续备份会尝试使用差异模式,即仅传输自上次备份以来的事务日志增量,并用于创建差异备份工件(存储在目标位置)。这些差异备份工件共同构成一个备份链。如果备份服务器上没有所需的事务日志,备份客户端将回退并执行全量备份。
export HEAP_SIZE=2G
bin/neo4j-admin database backup --from=192.168.1.34 --to-path=/mnt/backups/neo4j --pagecache=4G neo4j
Destination is not empty, doing differential backup...
Backup complete.