'Backup' is an interactive CLI backup script which presents the user with a menu. They can choose one of four options for secure backups.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sam Howell c230623a84 Delete backup.py.sig (attached to tag/release) 2 years ago
LICENSE Add LICENSE 3 years ago
README.md Update README.md 2 years ago
backup.py Complete rewrite, adding more device/location options etc. 2 years ago
backup_screenshot.jpg Update Backup screenshot 2 years ago



'Backup' allows you to backup local files and directories to a number of predefined locally connected devices or remote locations. The code included in this repo is mostly based on my own local version of the program, hence the unique device IDs, directory names etc.

Before running, inspect the code. A number of lines require completion with user-specific information (passphrases, directory paths etc.) in order for the program to be of any use. I've indicated with comments where most of these changes need to be made. The following variables should be replaced:

  • UUIDs

alt text


'Backup' was initially written for personal use and assumes the following (non/)standard software is installed on a GNU/Linux system:

  • Python 3
  • Rsync
  • Rclone
  • VeraCrypt
  • python3-pyfiglet


Move to the directory with the downloaded files (e.g. Downloads):

cd /home/$USER/Downloads

Fetch my public key:

wget https://samhowell.uk/pgp/publickey.mail@samhowell.uk.asc

Import the key into GPG:

gpg --import publickey.mail@samhowell.uk.asc

Use GPG to verify the signature against the key:

gpg --verify backup.py.sig backup.py

Check the integrity of the file:

sha256sum -c backup.py.SHA256

You should see the following output:

backup.py: OK