Hi, Kushal.
In Vorta, under the "Sources" tab, there is an area (window) for input
into which you can type or paste text, such as:
**/.cache
to denote exclusions, that is, things you do not want to back up.
This is from /home/debian_user/.config/backintime/config:
. . .
profile1.snapshots.exclude.1.value=.gvfs
profile1.snapshots.exclude.2.value=.cache/*
profile1.snapshots.exclude.3.value=.thumbnails*
profile1.snapshots.exclude.4.value=.local/share/[Tt]rash*
profile1.snapshots.exclude.5.value=*.backup*
profile1.snapshots.exclude.6.value=*~
profile1.snapshots.exclude.7.value=.dropbox*
profile1.snapshots.exclude.8.value=/proc/*
profile1.snapshots.exclude.9.value=/sys/*
profile1.snapshots.exclude.10.value=/dev/*
profile1.snapshots.exclude.11.value=/run/*
profile1.snapshots.exclude.12.value=/etc/mtab
profile1.snapshots.exclude.13.value=/var/cache/apt/archives/*.deb
profile1.snapshots.exclude.14.value=lost+found/*
profile1.snapshots.exclude.15.value=/tmp/*
profile1.snapshots.exclude.16.value=/var/tmp/*
profile1.snapshots.exclude.17.value=/var/backups/*
profile1.snapshots.exclude.18.value=.Private
. . .
Of course that is expressed in backintime's own configuration
"language", and would probably need to be translated into borgbackup's
equivalent "language".
Something like that is what I was sort of looking for. And it is not
just for efficiency. Consider this, from the Arch wiki article on
rsync:
----------
"Run the following command as root to make sure that rsync can access
all system files and preserve the ownership:
# rsync -aAXHv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"}
/ /path/to/backup
By using the -aAX set of options, the files are transferred in archive
mode which ensures that symbolic links, devices, permissions,
ownerships, modification times, ACLs, and extended attributes are
preserved, assuming that the target file system supports the feature.
The option -H preserves hard links, but uses more memory.
The --exclude option causes files that match the given patterns to be
excluded. The directories /dev, /proc, /sys, /tmp, and /run are
included in the above command, but the contents of those directories
are excluded. This is because they are populated on boot, but the
directories themselves are not created. /lost+found is
filesystem-specific. The command above depends on brace expansion
available in both the bash and zsh shells. When using a different
shell, --exclude patterns should be repeated manually. Quoting the
exclude patterns will avoid expansion by the shell, which is
necessary, for example, when backing up over SSH. Ending the excluded
paths with * ensures that the directories themselves are created if
they do not already exist.
Note:
If you plan on backing up your system somewhere other than /mnt or
/media, do not forget to add it to the list of exclude patterns to
avoid an infinite loop.
If there are any bind mounts in the system, they should be excluded as
well so that the bind mounted contents is copied only once.
If you use a swap file, make sure to exclude it as well.
Consider if you want to backup the /home/ directory. If it contains
your data it might be considerably larger than the system. Otherwise
consider excluding unimportant sub-directories such as
/home/*/.thumbnails/*, /home/*/.cache/mozilla/*,
/home/*/.cache/chromium/*, and /home/*/.local/share/Trash/*, depending
on software installed on the system.
If GVFS is installed, /home/*/.gvfs must be excluded to prevent rsync errors.
If Dhcpcd ≥ 9.0.0 is installed, exclude the /var/lib/dhcpcd/*
directory as it mounts several system directories as sub-directories
there.
You may want to include additional rsync options, or remove some, such
as the following. See rsync(1) for the full list.
If you run on a system with very low memory, consider removing -H
option; however, it should be no problem on most modern machines.
There can be many hard links on the file system depending on the
software used (e.g. if you are using Flatpak). Many hard links reside
under the /usr/ directory.
You may want to add rsync's --delete option if you are running this
multiple times to the same backup directory. In this case make sure
that the source path does not end with /*, or this option will only
have effect on the files inside the subdirectories of the source
directory, but it will have no effect on the files residing directly
inside the source directory.
If you use any sparse files, such as virtual disks, Docker images and
similar, you should add the -S option.
The --numeric-ids option will disable mapping of user and group names;
instead, numeric group and user IDs will be transfered. This is useful
when backing up over SSH or when using a live system to backup
different system disk.
Choosing --info=progress2 option instead of -v will show the overall
progress info and transfer speed instead of the list of files being
transferred.
To avoid crossing a filesystem boundary when recursing, add the option
-x/--one-file-system. This will prevent backing up any mount point in
the hierarchy."
----------
And that isn't even (afaik) Fnmatch!
(BTW, I have read what you referenced as ' Run "borg help patterns" '.
I'm afraid it wasn't very helpful to me.)
Timeshift (system files only) currently takes up about 10Gb backing up
a relatively lean system.
Borg takes up about 4.2 Gb of user data only.
Backintime uses about 4.4Gb to back up the same user data. It seems
to be just a fancy GUI, that appears to use rsync as a backend, to
take "snapshots".
I shall take for granted that backintime developers do not code encfs.
Fine. But after 7 years (at least), why haven't they replaced encfs
with a "safer" encryption scheme, or at least just removed it and
simply not replaced it at all? IMHO, either option would seem far
better than the status quo.
I'm sure someone is saying, "Well, you don't HAVE TO use the built encryption."
Believe me, I don't. And won't.
As you noted, borg seems to take encryption much more seriously.
Which I think is a good thing, as I consider data integrity and
security to be very important.