# backup.sh #!/bin/bash # 백업 디렉토리 생성 BACKUP_DIR="./backups/$(date +%Y%m%d_%H%M%S)" mkdir -p "$BACKUP_DIR" # PostgreSQL 백업 echo "Backing up PostgreSQL..." docker-compose exec -T postgres pg_dump -U ${POSTGRES_USER} ${POSTGRES_DB} > "$BACKUP_DIR/postgres_backup.sql" # Redis 백업 echo "Backing up Redis..." docker-compose exec -T redis redis-cli -a ${REDIS_PASSWORD} SAVE docker cp $(docker-compose ps -q redis):/data/dump.rdb "$BACKUP_DIR/redis_backup.rdb" # TimescaleDB 백업 (full stack 환경인 경우) if [ -f "docker-compose.full.yml" ]; then echo "Backing up TimescaleDB..." docker-compose exec -T timescaledb pg_dump -U ${TIMESCALEDB_USER} ${TIMESCALEDB_DB} > "$BACKUP_DIR/timescaledb_backup.sql" fi echo "Backup completed at $BACKUP_DIR"