You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.3 KiB
40 lines
1.3 KiB
#!/bin/bash
|
|
|
|
if [ "$(id -u)" != "0" ]; then
|
|
echo "This script must be run as root."
|
|
echo "Use the command 'sudo su -' (include the trailing hypen) and try again"
|
|
exit 1
|
|
fi
|
|
|
|
(return 2>/dev/null) && sourced=1 || sourced=0
|
|
|
|
if [ $sourced != 1 ]; then
|
|
echo "You forgot the leading '.' followed by a space!"
|
|
echo "Try this format: . ./backup.sh"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z ${BACKUP_PROVIDER+x} ]; then
|
|
echo "Set BACKUP_PROVIDER environmental variable and try again."
|
|
exit 1
|
|
elif [ ${BACKUP_PROVIDER="Dropbox"} ]; then
|
|
if [ -z ${DROPBOX_TOKEN+x} ]; then
|
|
echo "Set DROPBOX_TOKEN environmental variable and try again."
|
|
exit 1
|
|
fi
|
|
if [ -z ${1+x} ]; then
|
|
filename="backup.tar.gz"
|
|
else
|
|
filename=$1
|
|
fi
|
|
if [ ! -d /var/lib/docker/volumes/backup_datadir ]; then
|
|
docker volume create backup_datadir
|
|
fi
|
|
btcpay-down.sh
|
|
tar --exclude='/var/lib/docker/volumes/backup_datadir/*' --exclude='/var/lib/docker/volumes/generated_bitcoin_datadir/*' -cvzf /var/lib/docker/volumes/backup_datadir/_data/${filename} /var/lib/docker/volumes
|
|
btcpay-up.sh
|
|
echo "Uploading to Dropbox..."
|
|
docker run --name backup --env DROPBOX_TOKEN=$DROPBOX_TOKEN -v backup_datadir:/data jvandrew/btcpay-dropbox:1.0.5 $filename
|
|
echo "Deleting local backup..."
|
|
rm /var/lib/docker/volumes/backup_datadir/_data/${filename}
|
|
fi
|
|
|