Skip to content

Rsync

Store backups on a remote server via rsync over SSH. Ideal for efficient incremental transfers and Unix/Linux servers.

Prerequisites

  • rsync must be installed on both the DBackup server and the remote target
  • SSH access to the remote server

Docker Users

The default DBackup Docker image includes rsync. If you're running DBackup outside Docker, ensure rsync is installed: which rsync

Configuration

FieldDescriptionDefaultRequired
NameFriendly name for this destination-
HostHostname or IP of the remote server-
PortSSH port22
UsernameSSH username-
Auth TypeAuthentication methodpassword
PasswordUser password (when Auth Type = password)-
Private KeyPEM-encoded private key (when Auth Type = privateKey)-
PassphrasePassphrase for encrypted private keys-
Path PrefixRemote directory for backups-
OptionsAdditional rsync flags (e.g. --bwlimit=1000)-

Authentication Methods

Auth TypeDescription
passwordUsername + password via sshpass (default)
privateKeySSH private key (paste PEM content directly)
agentUse the host's SSH agent (keys loaded via ssh-add)

Setup Guide

  1. Ensure the target server has rsync and SSH installed
  2. Create a dedicated user with write access to the backup directory:
    bash
    sudo useradd -m dbackup
    sudo mkdir -p /backups/dbackup
    sudo chown dbackup: /backups/dbackup
  3. Go to DestinationsAdd DestinationRsync
  4. Enter Host, Username, and select your Auth Type
  5. Enter credentials (password or private key)
  6. Set Path Prefix to the remote directory (e.g. /backups/dbackup)
  7. (Optional) Add custom Options for bandwidth limiting or other flags
  8. Click Test to verify the connection

How It Works

  • DBackup invokes rsync -az over SSH to transfer backup files
  • All transfers are encrypted in transit via SSH
  • Custom options are appended to the rsync command
  • All credentials (passwords, private keys) are stored AES-256-GCM encrypted in the database

Troubleshooting

rsync: command not found

rsync: command not found

Solution: Install rsync on both servers. On Debian/Ubuntu: apt install rsync. On the remote server, rsync must be in the default PATH.

Connection Refused

ssh: connect to host ... port 22: Connection refused

Solution: Verify the host and port. Ensure SSH is running and the firewall allows the connection.

Permission Denied

rsync: mkstemp failed: Permission denied (13)

Solution: Ensure the SSH user has write access to the Path Prefix directory on the remote server.

Bandwidth Limiting

To limit transfer speed, add --bwlimit=1000 (KB/s) in the Options field. Useful for avoiding bandwidth saturation on shared connections.

Next Steps

Released under the GNU General Public License. | Privacy · Legal Notice