diff --git a/development/download-backups.sh b/development/download-backups.sh index 364fdc10..8c72b1a6 100644 --- a/development/download-backups.sh +++ b/development/download-backups.sh @@ -8,8 +8,35 @@ if [ -z "$1" ]; then fi SITE_NAME="$1" +SERVER="root@188.245.211.114" +LIVE_PATH="/var/lib/docker/volumes/frappe-deployment_sites/_data/${SITE_NAME}/private/backups/" +ARCHIVED_PATH="/home/frappe/frappe-bench/archived/sites/${SITE_NAME}/private/backups" # Load environment variables from .env file source .env -sshpass -p "$HETZNER_SSH_PASSWORD" scp -r root@188.245.211.114:/var/lib/docker/volumes/frappe-deployment_sites/_data/${SITE_NAME}/private/backups/ ./development +# Check if live site exists +echo "Checking if site ${SITE_NAME} is live..." +if sshpass -p "$HETZNER_SSH_PASSWORD" ssh "$SERVER" "[ -d '$LIVE_PATH' ]"; then + echo "Site is live. Downloading from live location..." + sshpass -p "$HETZNER_SSH_PASSWORD" scp -r "${SERVER}:${LIVE_PATH}" ./development + echo "Download complete." +else + echo "Site is not live. Checking archived location..." + + # Check if archived site exists and download using docker cp + if sshpass -p "$HETZNER_SSH_PASSWORD" ssh "$SERVER" "docker exec frappe-deployment-backend-1 test -d '${ARCHIVED_PATH}'"; then + echo "Site is archived. Downloading from archived location..." + + # Copy from container to host temp location, then scp to local + TEMP_DIR="/tmp/backup_${SITE_NAME}" + sshpass -p "$HETZNER_SSH_PASSWORD" ssh "$SERVER" "rm -rf ${TEMP_DIR} && docker cp frappe-deployment-backend-1:${ARCHIVED_PATH} ${TEMP_DIR}" + sshpass -p "$HETZNER_SSH_PASSWORD" scp -r "${SERVER}:${TEMP_DIR}" ./development/backups + sshpass -p "$HETZNER_SSH_PASSWORD" ssh "$SERVER" "rm -rf ${TEMP_DIR}" + + echo "Download complete." + else + echo "Error: Site ${SITE_NAME} not found in live or archived locations." + exit 1 + fi +fi