There was a need to start archiving things to AWS Glacier as part of a disaster-recovery initiative. I wrote a bash script to take a target directory, archive it with tar and gzip, encrypt it with gpg, split it into 4GiB chunks, and upload it to Glacier. The script can also handle < 4GiB objects; it skips the split and calls a different option in aws-cli glacier.
Currently, it is implemented in a Docker container called by cron. It runs a full backup every time versus doing something like a daily diff and then weekly full. Cheap and deep.
Archive to AWS Glacier with File Encryption
Posted on