2022-06-22 17:39:46 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2022-10-29 15:34:17 +00:00
|
|
|
set -e
|
2022-07-27 16:38:33 +00:00
|
|
|
cd "$(dirname "$0")"
|
2022-06-22 17:39:46 +00:00
|
|
|
|
|
|
|
# take the services down, create a backup archive, then pull it down.
|
2022-07-27 16:38:33 +00:00
|
|
|
# the script executed here from the BTCPAY repo will automatically take services down
|
|
|
|
# and bring them back up.
|
|
|
|
|
2022-10-27 20:07:00 +00:00
|
|
|
echo "INFO: Starting BTCPAY Backup script for host '$BTCPAY_FQDN'."
|
2022-10-26 23:33:43 +00:00
|
|
|
|
2022-10-27 20:07:00 +00:00
|
|
|
ssh "$BTCPAY_FQDN" "mkdir -p $REMOTE_HOME/backups; cd $REMOTE_HOME/; sudo BTCPAY_BASE_DIRECTORY=$REMOTE_HOME bash -c $BTCPAY_SERVER_APPPATH/btcpay-down.sh"
|
2022-07-27 16:38:33 +00:00
|
|
|
|
2022-11-14 01:26:51 +00:00
|
|
|
# TODO; not sure if this is necessary, but we want to give the VM additional time to take down all services
|
|
|
|
# that way processes can run shutdown procedures and leave files in the correct state.
|
|
|
|
sleep 10
|
|
|
|
|
2022-07-27 16:38:33 +00:00
|
|
|
# TODO enable encrypted archives
|
|
|
|
# TODO switch to btcpay-backup.sh when on LXD fully.
|
2022-10-27 20:07:00 +00:00
|
|
|
scp ./remote_scripts/btcpay-backup.sh "$BTCPAY_FQDN:$REMOTE_HOME/btcpay-backup.sh"
|
|
|
|
ssh "$BTCPAY_FQDN" "sudo cp $REMOTE_HOME/btcpay-backup.sh $BTCPAY_SERVER_APPPATH/btcpay-backup.sh && sudo chmod 0755 $BTCPAY_SERVER_APPPATH/btcpay-backup.sh"
|
|
|
|
ssh "$BTCPAY_FQDN" "cd $REMOTE_HOME/; sudo BTCPAY_BASE_DIRECTORY=$REMOTE_HOME BTCPAY_DOCKER_COMPOSE=$REMOTE_HOME/btcpayserver-docker/Generated/docker-compose.generated.yml bash -c $BTCPAY_SERVER_APPPATH/btcpay-backup.sh"
|
2022-07-27 16:38:33 +00:00
|
|
|
|
|
|
|
# next we pull the resulting backup archive down to our management machine.
|
2022-10-27 20:07:00 +00:00
|
|
|
ssh "$BTCPAY_FQDN" "sudo cp /var/lib/docker/volumes/backup_datadir/_data/backup.tar.gz $REMOTE_HOME/backups/btcpay.tar.gz"
|
|
|
|
ssh "$BTCPAY_FQDN" "sudo chown ubuntu:ubuntu $REMOTE_HOME/backups/btcpay.tar.gz"
|
2022-10-26 23:33:43 +00:00
|
|
|
|
|
|
|
|
2022-10-27 20:07:00 +00:00
|
|
|
mkdir -p "$BTCPAY_LOCAL_BACKUP_PATH"
|
|
|
|
scp "$BTCPAY_FQDN:$REMOTE_HOME/backups/btcpay.tar.gz" "$BTCPAY_LOCAL_BACKUP_ARCHIVE_PATH"
|
2022-10-26 23:33:43 +00:00
|
|
|
|
2022-10-27 20:07:00 +00:00
|
|
|
echo "INFO: Created backup archive '$BTCPAY_LOCAL_BACKUP_ARCHIVE_PATH' for host '$BTCPAY_FQDN'."
|