#!/bin/bash set -e # Default to staging TARGET="stg" for arg in "$@"; do if [[ "$arg" == "-target" ]]; then NEXT_IS_TARGET=1 continue fi if [[ $NEXT_IS_TARGET == 1 ]]; then TARGET="$arg" NEXT_IS_TARGET=0 fi done if [[ "$TARGET" == "prod" ]]; then DB_CONTAINER="cmc-prod-db" DB_USER="cmc" DB_PASS="xVRQI&cA?7AU=hqJ!%au" DB_NAME="cmc" else DB_CONTAINER="cmc-db" DB_USER="cmc" DB_PASS="xVRQI&cA?7AU=hqJ!%au" DB_NAME="cmc" fi # Sync latest backup from production rsync -avz -e "ssh -i ~/.ssh/cmc-old" --progress cmc@sales.cmctechnologies.com.au:~/backups /home/cmc/ LATEST_BACKUP=$(ls -t /home/cmc/backups/backup_*.sql.gz | head -n1) echo "Restoring database from latest backup: $LATEST_BACKUP to $TARGET ($DB_CONTAINER)" if [ -f "$LATEST_BACKUP" ]; then docker cp "$LATEST_BACKUP" "$DB_CONTAINER":/tmp/backup.sql.gz docker exec "$DB_CONTAINER" sh -c "gunzip < /tmp/backup.sql.gz | mariadb -u $DB_USER -p'$DB_PASS' $DB_NAME" echo "Database restore complete." else echo "No backup file found in /home/cmc/backups. Skipping database restore." fi