본문 바로가기
Q&A2022년 11월 18일1분 읽기

서버 백업 자동화 스크립트

문
문성민
조회 498댓글 1

리눅스 서버 백업을 자동화하고 싶습니다. 기본적인 백업 스크립트를 알려주세요.

댓글 1

김김영삼3년 전

서버 백업 자동화 스크립트:

#!/bin/bash
# backup.sh

DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backup"
DB_NAME="mydb"
WEB_DIR="/var/www/html"
RETENTION=7 # 7일 보관

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

# 2. 웹 파일 백업
tar czf "$BACKUP_DIR/web_${DATE}.tar.gz" -C / $WEB_DIR

# 3. 설정 파일 백업
tar czf "$BACKUP_DIR/etc_${DATE}.tar.gz" /etc/nginx /etc/ssh/sshd_config

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

# 5. 원격 복사 (선택)
rsync -avz $BACKUP_DIR/ backup-server:/remote-backup/

echo "Backup completed: $DATE"
# crontab에 등록
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

추가 팁:

  • 백업 무결성 체크 (md5sum)
  • 백업 복원 테스트 정기적으로 수행
  • 중요 데이터는 오프사이트 백업
Ctrl+Enter로 등록