backup.py is a small and lightweight backup utility written in Python that lets you save, encrypt and verify your personal data. I designed it with two main goals in mind:

  1. Minimalism: meaning that it has no external dependencies;
  2. Modularity: meaning that you can control its behavior through a configuration file.

For example, to back up ~/Pictures, ~/Documents and /etc/wireguard/wg0.conf, create the following file:

# directories end with a slash...
photos=/home/marco/Pictures/
documents=/home/marco/Documents/

# while individual files do not
wireguard=/etc/wireguard/wg0.conf

And then issue the following command:

$ sudo ./backup.py create --checksum --verbose sources.ini $PWD "very_bad_pw"

The program will iterate over the sources file and create an encrypted backup file on your current path. That is:

sample usage