finding the latest site archive directory

This commit is contained in:
Andor Szabó 2026-01-14 12:59:10 +02:00
parent 4a6c568b70
commit 6af80ad29c

View file

@ -10,7 +10,6 @@ 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
@ -18,16 +17,31 @@ source .env
# Function to download from archived location
download_from_archive() {
echo "Checking archived location..."
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}"
ARCHIVED_BASE="/home/frappe/frappe-bench/archived/sites"
echo "Download complete."
# Find the latest archived directory matching the site name pattern (sorted by modification time)
LATEST_ARCHIVED=$(sshpass -p "$HETZNER_SSH_PASSWORD" ssh "$SERVER" "docker exec frappe-deployment-backend-1 sh -c \"ls -td ${ARCHIVED_BASE}/${SITE_NAME}* 2>/dev/null | head -1\"")
if [ -n "$LATEST_ARCHIVED" ]; then
ARCHIVED_BACKUP_PATH="${LATEST_ARCHIVED}/private/backups"
echo "Found latest archived site: ${LATEST_ARCHIVED}"
# Check if backup directory exists in the archived site
if sshpass -p "$HETZNER_SSH_PASSWORD" ssh "$SERVER" "docker exec frappe-deployment-backend-1 test -d '${ARCHIVED_BACKUP_PATH}'"; then
echo "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_BACKUP_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: Backup directory not found in archived site ${LATEST_ARCHIVED}."
exit 1
fi
else
echo "Error: Site ${SITE_NAME} not found in live or archived locations."
exit 1