Skip to content

Remote backups

François edited this page Jun 10, 2015 · 9 revisions

Preamble

Due to its internals, the WABAC Machine only supports remote backups in a precise way. In fact, the WABAC Machine will run properly only if the destination is local. But, obvisously, and thanks to UNIX, a local destination can be a remote share mounted in the local filesystem tree.

Sadly, if you plan to use a rsync module or SSH, you can't use mount. But you may use another trick (not ideal, but still working) which consists in pulling the data (the server runs the WABAC Machine and connects to the client(s)) instead of pushing it (the client runs the WABAC Machine).

Protocol Support
AFP ✅     if mounted locally
SMB ✅     if mounted locally
NFS ✅     if mounted locally
rsync module  ✅     if pulling data
SSH ✅     if pulling data

Working with AFP, SMB or NFS

There are basically 2 ways of getting this working. You can either:

  • Create an entry in your /etc/fstab file,
  • Mount the share point on the fly (and unmount it when the backup is done).

The first method isn't covered by this documentation. You will easily find help about this subject on the Internet.

The second method makes use of preflight/postflight scripts. The idea is to mount the share via a preflight script, and to unmount it via a postflight script. The WABAC Tools provides some functions that might help you get done with this strategy.

Working with SSH or a rsync module

It's pretty straightforward. You just have to put the SSH or rsync module connexion string as your source.

rsync module

For a rsync module, it means that your source should match one of the following template :

  • [USER@]HOST::SRC
  • rsync://[USER@]HOST[:PORT]/SRC

SSH

For SSH, your source should match this template :

  • [USER@]HOST:SRC

⚠️ If you plan to use SSH, you should really consider using keys along with ssh_config.

For example, in your /etc/ssh/ssh_config, you could specify :

Host client1
    HostName client1.domain.com
    Port 22000
    User backup
    IdentityFile ~/.ssh/backup-client1.key

Which would allow you to set your source (in your WABAC Machine configuration file) as such :

source=client1/home

The manpages for rsync, ssh_config and ssh-keygen should help you here.