Files
aws-glacier-backup/backup.sh

45 lines
793 B
Bash
Raw Normal View History

2019-04-13 20:40:37 +02:00
#!/usr/bin/env bash
source ./venv/bin/activate
set -o nounset
set -o errexit
2019-04-13 20:51:27 +02:00
set -o xtrace
bucket="${1}" ; shift
name="${1}" ; shift
backup_source="${1}" ; shift
2019-04-13 20:40:37 +02:00
cleanup() {
2019-04-13 20:40:51 +02:00
rm -f ./keyring.tmp
rm -f ./keyring.tmp~
2019-04-13 20:40:37 +02:00
}
trap cleanup EXIT
tmpgpg() {
gpg \
--batch \
2019-04-13 20:40:51 +02:00
--keyring ./keyring.tmp \
2019-04-13 20:40:37 +02:00
--no-default-keyring \
--no-options \
"${@}"
}
tmpgpg --import ./pubkey.asc
tar \
--create \
--verbose \
--xz \
--one-file-system \
--file - \
2019-04-13 20:51:27 +02:00
"${backup_source}" \
2019-04-13 20:40:37 +02:00
| tmpgpg \
--output - \
--encrypt \
2019-04-13 20:51:27 +02:00
--recipient 0x078A167A8741BD30 \
2019-04-13 20:40:37 +02:00
| aws s3 cp \
--storage-class=DEEP_ARCHIVE \
- \
2019-04-13 20:53:41 +02:00
"s3://${bucket}/${name}-$(date --utc -Iseconds).tar.xz.gpg"