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.
|