본문 바로가기
Q&A2025년 3월 12일1분 읽기

PostgreSQL 백업 자동화 스크립트

나
나윤아
조회 436댓글 2

PostgreSQL 자동 백업 스크립트를 만드는 방법을 알려주세요.

댓글 2

김김영삼1년 전

PostgreSQL 자동 백업:

#!/bin/bash
# pg_backup.sh
set -euo pipefail

DB_NAME="mydb"
BACKUP_DIR="/backup/postgres"
RETENTION=7
DATE=$(date +%Y%m%d_%H%M%S)

mkdir -p $BACKUP_DIR

# 백업
pg_dump $DB_NAME | gzip > "$BACKUP_DIR/${DB_NAME}_${DATE}.sql.gz"

# 오래된 백업 삭제
find $BACKUP_DIR -name "*.sql.gz" -mtime +$RETENTION -delete

# 원격 복사 (선택)
rsync -avz $BACKUP_DIR/ backup@remote:/pg-backup/

echo "[$(date)] Backup completed: ${DB_NAME}_${DATE}.sql.gz"
# crontab
0 3 * * * /usr/local/bin/pg_backup.sh >> /var/log/pg_backup.log 2>&1

.pgpass 파일에 비밀번호를 저장하면 스크립트에서 비밀번호 입력 없이 실행됩니다.

김김민수(guest)1년 전
좋은 답변 감사합니다! 많이 배웠습니다.
Ctrl+Enter로 등록