For context and instructions on how to create and use these scripts, visit my project page.
Purpose: Credential management and secure backup of sparsely-changing cryptographic keys, passwords, and TOTPs to a USB drive.
Requirements:
- USB drive (or any storage media)
- macOS
- VeraCrypt
- rsync
Project inspired by Sun Knudsen's guide.
Rename example_env to .env and add your volume path, mount point, and backup files.
mv example_env .env
The backup.sh script mounts an encrypted VeraCrypt volume from a USB drive, backs up specified directories and files, prompts a manual check, creates a hash, and safely unmounts when finished.
The check.sh runs an integrity check script that mounts an encrypted VeraCrypt volume from a USB drive, asks for the hash of your backup, compares it to the current hash of the volume, then outputs the result and unmounts the volume.
The restore.sh script mounts an encrypted VeraCrypt volume from a USB drive, opens the volume in finder, then unmounts.
You can verify each script with my PGP public key to confirm authenticity and integrity.
gpg --verify signatures/backup.sh.asc backup.sh