Back up an offline database
Remember to plan your backup carefully and back up each of your databases, including the |
Command
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.
Syntax
neo4j-admin database dump [-h] [--expand-commands]
[--verbose] [--overwrite-destination[=true|false]]
[--additional-config=<file>]
[--to-path=<path> | --to-stdout]
<database>
Description
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.
Parameters
Parameter | Description |
---|---|
|
Name of the database to dump. Can contain |
Options
The neo4j-admin database dump
command has the following options:
Option | Description | Default |
---|---|---|
|
Configuration file with additional configuration. |
|
|
Allow command expansion in config value evaluation. |
|
|
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 |
Examples
Dump the default database neo4j
to a local directory
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.
Dump a database to a folder located in an AWS S3 storage
This feature is available from Neo4j 5.19.
To dump a database to an AWS S3 storage, you can use the --to-path
option with an S3 URI.
For example, use the following steps.
Neo4j uses the AWS SDK v2 to call the APIs on AWS using AWS URLs.
Alternatively, you can override the endpoints so that the AWS SDK can communicate with alternative storage systems, such as Ceph, Minio, or LocalStack, using the system variables |
-
Ensure that the AWS CLI is installed and configured with the necessary credentials.
-
Install the AWS CLI by following the instructions in the AWS official documentation — Install the AWS CLI version 2.
-
Use
aws configure
command to set youraws_access_key_id
andaws_secret_access_key
from AWS. -
Create an S3 bucket and a directory to store the backup files using the AWS CLI:
aws s3 mb --region=us-east-1 s3://myBucket aws s3api put-object --bucket myBucket --key myDirectory/
For more information on how to create a bucket and use the AWS CLI, see the AWS official documentation — Use Amazon S3 with the AWS CLI and Use high-level (s3) commands with the AWS CLI.
-
Verify that the
~/.aws/config
is correct by running the following command:cat ~/.aws/config
The output should look like this:
[default] region=eu-north-1
-
Verify that the
~/.aws/credentials
is correct:cat ~/.aws/credentials
The output should look like this:
[default] aws_access_key_id=this.is.secret aws_secret_access_key=this.is.super.secret
-
-
Run
neo4j-admin database dump
command to dump your database to an AWS S3 storage:bin/neo4j-admin database dump <database> --to-path=s3://myBucket/myDirectory/
|