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: portability and modularity, meaning that it has no external dependencies and you can control its behavior entirely through a configuration file.

In other words, 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 issue the following command:

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

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