Notice
Recent Posts
Recent Comments
Link
Hugh_휴 님의 블로그
[실습] 우분투 인프라 구성 실습 DB Backup Server 구성 본문

1. 백업 서버 자동화 (rsync + cron)
Step 1) 비밀번호 없이 로그인 설정 (SSH 키 인증)
#키 생성 (이미 있으면 엔터만 쳐서 넘어가세요)
ssh-keygen -t rsa
#백업 서버로 복사 (백업 서버의 IP와 계정을 넣으세요)
# 예: ssh-copy-id backupuser@192.168.x.x
ssh-copy-id [백업서버계정]@[백업서버IP]
Step 2) 백업 및 rsync 동기화 스크립트 작성
#(db서버에서 작업)
sudo nano /usr/local/bin/db_sync.sh
#파일 안에 아래 내용을 복사해서 넣으세요 (수정 필요 부분 확인):
#!/bin/bash
# 설정 변수
BACKUP_PATH="/tmp/db_dump"
BACKUP_NAME="mariadb_all_$(date +%Y%m%d).sql"
REMOTE_USER="백업서버계정"
REMOTE_IP="백업서버IP"
REMOTE_PATH="/home/backupuser/db_backups/" # 백업서버의 저장경로
# 1. 임시 디렉토리 생성
mkdir -p $BACKUP_PATH
# 2. MariaDB 전체 덤프 (비밀번호를 직접 적거나 .my.cnf 활용)
mysqldump -u root -p'내DB비밀번호' --all-databases > $BACKUP_PATH/$BACKUP_NAME
# 3. rsync를 이용한 동기화 (전송 후 원본 삭제 옵션 포함)
# -a: 권한 유지, -v: 진행상황 표시, -z: 압축 전송
rsync -avz $BACKUP_PATH/ $REMOTE_USER@$REMOTE_IP:$REMOTE_PATH
# 4. 완료 후 DB 서버의 임시 파일 삭제 (용량 관리)
rm -f $BACKUP_PATH/*.sql
Step 3) 실행 권한 부여 및 테스트
sudo chmod +x /usr/local/bin/db_sync.sh
# 테스트 실행
/usr/local/bin/db_sync.sh
Step 4) 주 1회 자동화 등록 (Cron)
sudo crontab -e
맨 밑줄에 이 내용을 추가하고 저장하세요:(매주 일요일 새벽 3시에 자동 백업. 내 마음)
0 3 * * 0 /usr/local/bin/db_sync.sh >> /var/log/db_backup.log 2>&1
Step 5) DB서버에 덤프 도구 설치하기(이거 안되있으면 덤프파일 전송이 0으로 뜬다.)
sudo apt update
sudo apt install mariadb-client-10.3
'실습 연습' 카테고리의 다른 글
| C언어 코드 공부1 (0) | 2026.04.02 |
|---|---|
| [실습] 우분투 인프라 구성 실습 Log 서버 구성 (0) | 2026.03.27 |
| [실습] 인프라 구성 실습 DB Server 구성 (0) | 2026.03.27 |
| [실습] 우분투 인프라 구성 Development 서버 구성(아파치2&톰캣9/마리아DB) (0) | 2026.03.27 |
| [실습] 우분투 인프라 구성 Development 서버 구성(아파치2&톰캣9/마리아DB) (0) | 2026.03.27 |