openssl(encryption)uuidgen(keyfile generation)xz(compression)tar(backup creation)sha512sum(change detection)notify-send(for error notifications)
- Run
./install.sh - Back up your fallback keyfile (as well as all custom keyfiles you create)
- Mount your backup destination under
destinationdirectory (e.g.S3FSorSSHFS) or replace the directory with a symlink (ln -s /path/to/backup destination) - Add your backup destination to your
/etc/fstab - Reboot, ensure your
/etc/fstabconfig is working - Add
backup-error-notify.shto autostart or other scheduled execution methods (e.g. Cron) - Add your backup folders as symlinks under
sourcesusingln -s /full/path/to/backup backup-name(backup name is limited to alphanumeric chars, minus and underscore) - Run
./backup.shmanually and test your setup
Edit notify.sh to your liking
Edit download.sh and upload.sh. They are used like a mv <source> <destination> command, the remote file is always just a file name, the local file is a relative path.
Create a keyfile using this command: uuidgen > keyfiles/backup-name.keyfile
This works using the tar --exclude-cache switch. To exclude a directory use the following command: echo 'Signature: 8a477f597d28d172789f06886806bc55' > /directory/to/exclude/CACHEDIR.TAG
To access the contents of a backup file you need to decrypt them using openssl aes-256-cbc -d -in backup-name.tar.xz.bin -out backup-name.tar.xz -kfile /path/to/keyfile -pbkdf2 -iter 1500000. If no special keyfile has been created use the fallback keyfile. After openssl decrypted the file it can be decompressed using xz and tar, or opened directly in a archiver which supports the format, such as Ark (KDE Archiver)