30 lines
994 B
Bash
Executable File
30 lines
994 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Backup staging database to /root/z_crm/backups/ on the server.
|
|
# Usage: SSHPASS=yourpassword ./scripts/backup-staging.sh
|
|
# Or with SSH keys: ./scripts/backup-staging.sh
|
|
#
|
|
# Creates backups/backup_YYYYMMDD_HHMMSS.sql on the staging server.
|
|
|
|
set -e
|
|
|
|
STAGING_HOST="${STAGING_HOST:-root@37.60.249.71}"
|
|
BACKUP_DIR="/root/z_crm/backups"
|
|
BACKUP_FILE="backup_$(date +%Y%m%d_%H%M%S).sql"
|
|
|
|
echo "Backing up staging database..."
|
|
echo "Host: $STAGING_HOST"
|
|
echo "Target: $BACKUP_DIR/$BACKUP_FILE"
|
|
echo ""
|
|
|
|
CMD="mkdir -p $BACKUP_DIR && cd /root/z_crm && docker compose exec -T postgres pg_dump -U postgres mind14_crm > $BACKUP_DIR/$BACKUP_FILE"
|
|
|
|
if [ -n "$SSHPASS" ]; then
|
|
sshpass -e ssh -o StrictHostKeyChecking=no "$STAGING_HOST" "$CMD"
|
|
else
|
|
ssh -o StrictHostKeyChecking=no "$STAGING_HOST" "$CMD"
|
|
fi
|
|
|
|
echo "Backup complete."
|
|
echo "File on server: $BACKUP_DIR/$BACKUP_FILE"
|
|
echo "To restore: docker compose exec -T postgres psql -U postgres mind14_crm < $BACKUP_DIR/$BACKUP_FILE"
|