Aggregate a database backup chain

This page describes how to aggregate a backup chain into a single backup.

Command

The aggregate command turns a backup chain into a single full backup artifact.

backup chain aggregation

The benefits of aggregating a backup chain are notably:

  • Reduces the size of backup artifacts in a given backup folder.

  • Keeps the recovery time objective (RTO) low by generating a single backup artifact ready to be restored. As part of the aggregation, transactions contained in the differential backups are applied to the store contained in the full backup artifact. This operation is called recovery and can be costly.

  • Reduces the risk of losing chain’s links.

Syntax

neo4j-admin database aggregate-backup   --from-path=<path>
                                        [--keep-old-backup[=true|false]]
                                        [--parallel-recovery[=true|false]]
                                        [--verbose]
                                        [--expand-commands]
                                        [--additional-config=<file>]
                                        <database>

Options

Option Default Description

--from-path

Directory where the backup artifacts are located.

--keep-old-backup

false

If set to true, the old backup chain is not removed.

--parallel-recovery

false

Allow multiple threads to apply pulled transactions to a backup in parallel. For some databases and workloads this may reduce aggregate times significantly.

parallel-recovery is an experimental option. Consult Neo4j support before use.

--verbose

Enable verbose output.

--expand-commands

Allow command expansion in config value evaluation.

--additional-config

Configuration file to provide additional or override the existing configuration settings in the neo4j.conf file.

Parameters

Parameter Default Description

<database>

neo4j

Name of the database for which to aggregate the artifacts. Can contain * and ? for globbing.

Example

An example of how to perform aggregation of a set of backups located in a given folder for the neo4j database.
bin/neo4j-admin database aggregate-backup --from-path=/mnt/backups/ neo4j

The command first looks inside the /mnt/backups/ directory for a backup chain for the database neo4j. If found, it is then aggregated into a single backup artifact.