96 lines
2.5 KiB
ReStructuredText
96 lines
2.5 KiB
ReStructuredText
|
|
||
|
.. highlight:: ini
|
||
|
|
||
|
=======
|
||
|
Rsync
|
||
|
=======
|
||
|
|
||
|
Rattail can invoke the ``rsync`` command to copy relevant portions of
|
||
|
the file system to another location.
|
||
|
|
||
|
The main disadvantage to rsync is that the "backup" is competely
|
||
|
replaced every time the command runs. So you always have just one
|
||
|
"most recent" backup.
|
||
|
|
||
|
Doing so is almost certainly better than nothing, but Borg is really a
|
||
|
superior solution in every way it seems. You are encouraged to use
|
||
|
that instead.
|
||
|
|
||
|
|
||
|
Configuration
|
||
|
=============
|
||
|
|
||
|
You can enable the rsync feature like so::
|
||
|
|
||
|
[rattail.backup]
|
||
|
rsync = true
|
||
|
|
||
|
The rsync feature is *disabled* by default but you can make that
|
||
|
explicit::
|
||
|
|
||
|
[rattail.backup]
|
||
|
rsync = false
|
||
|
|
||
|
By default Rattail will run ``rsync`` before it runs ``borg create``,
|
||
|
but you can reverse that sequence if you need to::
|
||
|
|
||
|
[rattail.backup]
|
||
|
rsync.last = true
|
||
|
|
||
|
|
||
|
Destination
|
||
|
-----------
|
||
|
|
||
|
Rattail only supports a single "destination" for rsync. This can be
|
||
|
either a "local" path, e.g. a backup drive mounted to the main
|
||
|
filesystem, or can be a remote path accessible via SSH.
|
||
|
|
||
|
Here is what a "local" path would look like, e.g. if we want rsync to
|
||
|
write files in the ``/mnt/mydrive/server-backup`` folder::
|
||
|
|
||
|
[rattail.backup]
|
||
|
rsync.remote_prefix = /mnt/mydrive/server-backup
|
||
|
|
||
|
And if we instead wanted rsync to write to the ``/srv/server-backup``
|
||
|
folder on the ``otherserver`` remote machine::
|
||
|
|
||
|
[rattail.backup]
|
||
|
rsync.remote_host = otherserver
|
||
|
rsync.remote_prefix = /srv/server-backup
|
||
|
|
||
|
|
||
|
.. _rsync-include-exclude:
|
||
|
|
||
|
Files to Backup
|
||
|
---------------
|
||
|
|
||
|
Rattail will by default only include certain folders in the rsync run,
|
||
|
and avoid things like the ``/tmp`` folder etc. You can override this
|
||
|
as needed, but here is the default list of what it includes::
|
||
|
|
||
|
[rattail.backup]
|
||
|
rsync.include =
|
||
|
/etc
|
||
|
/home
|
||
|
/opt
|
||
|
/root
|
||
|
/srv
|
||
|
/usr/local
|
||
|
/var
|
||
|
|
||
|
Rattail will also exclude some things by default; again override as
|
||
|
needed but here is that default list. Note that the convention used
|
||
|
is to specify trailing slash for folders, and not for files. These
|
||
|
values are passed directly to the ``rsync`` command so ultimately it
|
||
|
will be interpreting them::
|
||
|
|
||
|
[rattail.backup]
|
||
|
rsync.exclude =
|
||
|
/var/cache/
|
||
|
|
||
|
Note that it is only necessary to *exclude* things which fall "within"
|
||
|
folders which are *included* ..e.g. no reason to explicitly exclude
|
||
|
the ``/tmp`` folder since it wasn't included. But since ``/var`` is
|
||
|
included we must exclude ``/var/cache`` or else it would be backed up
|
||
|
along with the rest.
|