mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-17 13:55:08 +00:00
42 lines
1.7 KiB
Bash
42 lines
1.7 KiB
Bash
# Download backups from production server
|
|
|
|
# Check if site name is provided
|
|
if [ -z "$1" ]; then
|
|
echo "Usage: $0 <site_name>"
|
|
echo "Example: $0 qa.ignis.academy"
|
|
exit 1
|
|
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
|
|
|
|
# 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
|