Add docs for rattail backup command
This commit is contained in:
parent
47fb1e451a
commit
25d1c1b739
10 changed files with 667 additions and 7 deletions
100
docs/backup/features/borg.rst
Normal file
100
docs/backup/features/borg.rst
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
|
||||
.. highlight:: ini
|
||||
|
||||
======
|
||||
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
|
||||
:ref:`rsync-include-exclude`.
|
||||
|
||||
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...
|
||||
Loading…
Add table
Add a link
Reference in a new issue