Back up an offline database

Remember to plan your backup carefully and back up each of your databases, including the system database.


The neo4j-admin database dump command can be used for performing a full backup of an offline database. It dumps a database into a single-file archive, called <database>.dump, and stores it in the <NEO4J_HOME>/data directory. Alternatively, neo4j-admin database dump can stream dump to standard output, enabling the output to be piped to another program, for example to neo4j-admin database load.

If the database is hosted in a cluster, make sure that the database is stopped on the server you are connected to. The command can be run only locally from an online or an offline Neo4j DBMS. It does not support SSL/TLS.


neo4j-admin database dump [-h] [--expand-commands]
                          [--verbose] [--overwrite-destination[=true|false]]
                          [--to-path=<path> | --to-stdout]


Dump a database into a single-file archive. The archive can be used by the load command. <to-path> should be a directory (in which case a file called <database>.dump will be created), or --to-stdout can be supplied to use standard output. If neither --to-path or --to-stdout is supplied server.directories.dumps.root setting will be used as a destination. It is not possible to dump a database that is mounted in a running Neo4j server.


Table 1. neo4j-admin database dump parameters
Parameter Description


Name of the database to dump. Can contain * and ? for globbing. Note that * and ? have special meaning in some shells and might need to be escaped or used with quotes.


The neo4j-admin database dump command has the following options:

Table 2. neo4j-admin database dump options
Option Description Default


Configuration file with additional configuration.


Allow command expansion in config value evaluation.

-h, --help

Show this help message and exit.


Overwrite any existing dump file in the destination folder.



Destination folder of a database dump.


Use standard output as the destination for the database dump.


Enable verbose output.

As of Neo4j 5.19, the --to-path=<path> option can also dump databases to AWS S3 URIs. Neo4j uses default AWS credentials to access AWS S3 URIs.


The following is an example of how to create a dump of the default database neo4j using the neo4j-admin database dump command. The target directory /dumps/neo4j must exist before running the command and the database must be offline.

bin/neo4j-admin database dump <database> --to-path=/full/path/to/dumps/

The command creates a file called <database>.dump where <database> is the database specified in the command.

The following is an example of how to create a dump in an AWS S3 URI, as of Neo4j 5.19.

bin/neo4j-admin database dump <database> --to-path=s3://full/path/to/aws-s3-dumps/

neo4j-admin database dump cannot be applied to Composite databases. It must be run directly on the databases that are associated with that Composite database.