Here is what is currently working for me, which I have been using since early March several times:
- The file compression utility package "dar." Dar is included in the package manager for Linux Mint.
https://en.wikipedia.org/wiki/Dar_%28disk_archiver%29 for more info.
- The backup utility backup-manager. See
https://linux.die.net/man/8/backup-manager for details. Also seems to be part of the Mint package set.
DAR has HUGE advantages over all other backup formats. It saves file attributes, and the data storage format is designed to be recoverable even in the event of errors in the archives.
Here is my backup regimen:
Manual, using a portable hard drive. It could be easily automated if I were continuously connected to backup media.
I have created a series of content-specific config files. If you run backup-manager without any arguments it uses a default /etc based config file. Otherwise you can have per-task configs that you pass it on the command line.
I have chopped up backup into about 5 major groups based on total file sizes. The initial master backup of each group took a couple of hours apiece, at least.
- All "business" files: home based directories for email, Quicken/Quickbooks data, website archives, client work directories.
- All "self created media" files: images I take, video clips, etc.
- All downloaded media such as TV programs and movies we watch through streaming
- All Virtualbox hard disk files.
- A backup of /home/gorn but only files NOT covered by above backup groups.
Here's the relevant, important config file statements from the backup-*.conf files hat support my backup style.
# The mounted backup hard drive. Never changes.
export BM_REPOSITORY_ROOT="/media/gorn/SeagateBackup/linuxdesktopbackup"
#This forces incremental backup plus DAR archives (DAR captures all Linux file attributes like ownership, etc
#so I can use any external media such as vfat, SSH based remote drives, etc) Tar does not support many features of DAR.
export BM_ARCHIVE_METHOD="tarball-incremental"
# I left encryption off!
# Example of inclusion of files for a specific backup cluster
export BM_TARBALL_DIRECTORIES="/home/gorn/html /home/gorn/clients /home/gorn/accountingdata /home/gorn/personal /home/gorn/swprojects /home/gorn/agent-email
# For the /home/gorn catchall backup ONLY, I must exclude all of the file paths specified by other backup config files.
# So the following exclusion statement in the /home/gorn file will look like this:
export BM_TARBALL_BLACKLIST="/home/gorn/images /home/gorn/music /home/gorn/html ...
There is no order in which the various backup configs may be applied. You may also backup some sets of files more frequently than others.
Last night, having an established set of backups already on the external hard drive, I had backup times for each script measuring from a couple of minutes, to 20 minutes for one, to an hour and a half for the 12 GB of changed data for the virtual machine files.