23 lines
781 B
Bash
Executable File
23 lines
781 B
Bash
Executable File
# 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" |