netgescon-day0/docker/backup-multisite.sh

27 lines
763 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
DOCKER_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd "$DOCKER_DIR/.." && pwd)"
ENV_FILE="${ENV_FILE:-$DOCKER_DIR/.env.multisite}"
if [[ ! -f "$ENV_FILE" ]]; then
echo "Env mancante: $ENV_FILE"
exit 1
fi
source "$ENV_FILE"
BACKUP_DIR="$ROOT_DIR/storage/backups"
mkdir -p "$BACKUP_DIR"
STAMP="$(date +%F_%H%M%S)"
echo "Backup DB produzione..."
docker exec netgescon_prod_db sh -lc "mysqldump -u root -p\"$PROD_DB_ROOT_PASSWORD\" \"$PROD_DB_DATABASE\"" > "$BACKUP_DIR/prod_${STAMP}.sql"
echo "Backup DB demo..."
docker exec netgescon_demo_db sh -lc "mysqldump -u root -p\"$DEMO_DB_ROOT_PASSWORD\" \"$DEMO_DB_DATABASE\"" > "$BACKUP_DIR/demo_${STAMP}.sql"
echo "Backup completato in: $BACKUP_DIR"