You can schedule backups of a specific database to make sure you always have valid backups. You can also export the data from a specific database at any time.

You can export a database to these locations:

  • FTP server
  • SFTP server
  • Amazon S3
  • Local mount point
  • OpenStack Swift (Object Storage)

Other cloud storage options, including Azure Geo-Redundant Storage and Google Cloud Storage, are planned for a future release.

The backup process creates compressed (.gz) RDB files that you can import into a database. If you backup a database configured for database clustering, RS copies a backup file for each shard to the specified backup location.

Note -
Make sure that you have enough space available in your storage location. If there is not enough space in the backup location, the backup fails.

Exporting Data From a Database

To export data from a database:

  1. In databases, click on the database that you want to export data from.
  2. In configuration, at the bottom of the page click Export.
  3. Select the location type to export the data to and enter the connection details.
  4. Select Receive email notification on success/failure, if you want to receive email notifications about the import process.
  5. Click Export.

FTP server

Before you specify to backup to an FTP server, make sure that:

  • The RS cluster has network connectivity to the FTP server.
  • The user that you specify in the FTP server location has read and write priviledges.

To backup to an FTP server, enter the FTP server location in the format:

ftp://user:password@host<:custom_port>/path/

For example: ftp://username:password@10.1.1.1/home/backups/

SFTP server

Before you specify to backup to an SFTP server, make sure that:

  • The RS cluster has network connectivity to the SFTP server.
  • The user that you specify in the SFTP server location has read and write priviledges.
  • The RS server and SFTP server have the correct TLS certificates. You can select either:
    • Use the cluster auto generated key - Go to settings and copy the Cluster SSH Public Key to the SFTP server.
    • Use a custom key - Generate a TLS key pair for the SFTP server, copy the private key to the SSH Private Key box, and copy the public key to the location required by the SFTP server.

To backup to an SFTP server, enter the SFTP server location in the format:

sftp://user:password@host:<:custom_port>/path/

For example: sftp://username:password@10.1.1.1/home/backups/

AWS S3

Before you specify to backup to Amazon S3, make sure that you have:

  • Path in the format: s3://bucketname/path/
  • Access key ID
  • Secret access key

Local mount point

Before you specify to backup to a local mount point, make sure that:

  • The node has network connectivity to the destination server of the mount point.
  • The redislabs:redislabs user has read and write priviledges on the local mount point and on the destination server.
  • The backup location has enough disk space for your backup files. The backup files are saved with filenames that include the timestamp so that backup files are not overwritten.

To backup to a local mount point for a node:

  1. On each node in the cluster, create the mount point:

    1. Connect to the terminal of the RS server that the node is running on.
    2. Mount the remote storage to a local mount point.

      For example:

      sudo mount -t nfs 192.168.10.204:/DataVolume/Public /mnt/Public
  2. In the path for the backup location, enter the mount point.

    For example: /mnt/Public

OpenStack Swift

Before you specify to backup to OpenStack Swift, make sure that you have:

  • Storage URL in the format: https://<openstack_url>/v1
  • Container
  • Prefix (Optional)
  • User
  • Key