Borg¶
Rattail can invoke the borg create
command, to make one or more
Borg archives at configured locations. For more about Borg, see
https://www.borgbackup.org/.
This allows for multiple destinations so that to be extra super safe, you can e.g. make archives at each of:
second drive attached to local machine
path on remote machine on local network
path on remote machine in the cloud
Rattail also will invoke the borg prune
command to keep the
archive repositories from growing too large etc.
Configuration¶
You can enable the borg feature like so:
[rattail.backup]
borg.enabled = true
The borg feature is disabled by default but you can make that explicit:
[rattail.backup]
borg.enabled = false
Destination(s)¶
Rattail supports multiple destinations for Borg archives; it will run
borg create
(and also borg prune
) separately for each defined.
As an example we’ll show config with 3 destinations; hopefully from here you can figure out how to do what you need:
[rattail.backup]
borg.remotes =
mydrive
otherserver
cloudserver
borg.remote.mydrive.repo = /mnt/mydrive/borg-storage/myserver
borg.remote.mydrive.passphrase = sooperseekrit
borg.remote.otherserver.repo = borguser@otherserver:/srv/borg-storage/myserver
borg.remote.otherserver.passphrase = sooperseekrit
borg.remote.cloudserver.repo = borguser@cloudserver:/srv/borg-storage/myserver
borg.remote.cloudserver.passphrase = sooperseekrit
The above uses the same Borg encryption passphrase for all 3 repositories but they could be different if you wanted.
If destination is on another server, in some cases you must tell Rattail where the Borg binary lives on that server, e.g.:
[rattail.backup]
borg.remotes = cloudserver
borg.remote.cloudserver.repo = borguser@cloudserver:/srv/borg-storage/myserver
borg.remote.cloudserver.passphrase = sooperseekrit
borg.remote.cloudserver.borg = /path/to/borg
Files to Backup¶
This works the same way as for rsync; see Files to Backup.
However the actual config option names can vary in the following way:
If you prefer, or need to differentiate, you can specify the include
and exclude options with borg
prefix:
[rattail.backup]
borg.include = /home
borg.exclude = /home/ignoreme
If you do specify them that way, Rattail will honor them. But if you
do not, it also will honor the same options with rsync
prefix:
[rattail.backup]
rsync.include = /home
rsync.exclude = /home/ignoreme
This is because anyone using both rsync and borg will likely want the same set of files backed up both ways. Also because the rsync feature came first…