Basic s3 backup and restore script

This commit is contained in:
2017-11-04 15:38:24 +00:00
parent d2372270ae
commit 6f515a0cb6

68
bin/sss Executable file
View File

@@ -0,0 +1,68 @@
#!/bin/bash
# Basic backup and restore to s3 bucket
source ~/.sssrc
if [ -z ${AWS_ACCESS_KEY_ID+x} ] ||
[ -z ${AWS_SECRET_ACCESS_KEY+x} ] ||
[ -z ${PASSPHRASE+x} ] ||
[ -z ${ENCRYPT_SIGN_KEY+x} ]; then
echo "Error: AWS config not found."
exit 1
fi
function backup() {
if [ -z ${1+x} ]; then
echo "No bucket provided."
exit 1
fi
if [ ! -d "$2" ]; then
echo "Folder $2 does not exist."
exit 1
fi
duplicity full \
--encrypt-sign-key "$ENCRYPT_SIGN_KEY" \
--s3-use-new-style \
--s3-european-buckets \
--progress \
"$2" "s3://s3-eu-west-1.amazonaws.com/$1/$2"
}
function restore() {
if [ -z ${1+x} ]; then
echo "No bucket provided."
exit 1
fi
if [ -z ${2+x} ]; then
echo "No Folder provided."
exit 1
fi
DEST=$3
if [ -z ${3+x} ]; then
DEST=$2
fi
duplicity restore \
--progress \
"s3://s3-eu-west-1.amazonaws.com/$1/$2" $DEST
}
case $1 in
backup)
backup $2 $3
exit 0
;;
restore)
restore $2 $3 $4
exit 0
;;
*)
echo "s3 backup and restore tool"
echo "Backup:"
echo "sss backup bucket-name folder"
echo
echo "Restore:"
echo "sss restore bucket-name folder [destination]"
exit 0
;;
esac