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:51:27 +02:00
|
|
|
s3://${bucket}/${name}-$(date --utc -Iseconds).tar.xz.gpg
|