### feat: MariaDB 데이터베이스 백업 문서 추가

- **백업 가이드 추가**
  - `docs/용인 장애인 서버에서 관리 방법.md`에 **MariaDB 데이터베이스 백업** 섹션(`6.`) 추가:
    - 백업 디렉토리 생성 방법 명시.
    - 백업 스크립트 작성 및 권한 부여 절차 설명.
    - Crontab 설정을 통한 자동화 백업 방법(매일 밤 12시) 추가.

- **백업 스크립트 상세**
  - 데이터베이스 백업 파일 생성 및 압축, 30일 지난 백업 파일 삭제를 포함한 스크립트 제공.
  - 성공 및 실패 로그 기록 기능 포함.

- **관리 명령어 제공**
  - 수동 백업 수행, 백업 파일 확인, 로그 조회, 복원 명령어 등 추가 명세.

- **기타**
  - 백업 스크립트 실행 및 관리 명령어 내용을 문서에 명확하게 기록.
  - MariaDB 관리와 백업 프로세스를 쉽게 이해할 수 있도록 섹션 및 내용 구성.
main
박성영 1 day ago
parent 93b15f3db0
commit bc0d2e4128

@ -15,6 +15,11 @@
- [5. Systemd 서비스 설정](#5-systemd-서비스-설정)
- [5.1 서비스 파일 설정](#51-서비스-파일-설정)
- [5.2 Systemd 명령어](#52-systemd-명령어)
- [6. MariaDB 데이터베이스 백업](#6-mariadb-데이터베이스-백업)
- [6.1 백업 디렉토리 생성](#61-백업-디렉토리-생성)
- [6.2 백업 스크립트 생성](#62-백업-스크립트-생성)
- [6.3 Crontab 설정 (매일 밤 12시 자동 백업)](#63-crontab-설정-매일-밤-12시-자동-백업)
- [6.4 백업 관련 명령어](#64-백업-관련-명령어)
---
@ -162,3 +167,86 @@ systemctl restart vips
# 실시간 로그 확인
journalctl -u vips -f
```
---
## 6. MariaDB 데이터베이스 백업
**root 계정**에서 실행합니다.
### 6.1 백업 디렉토리 생성
```bash
mkdir -p /app/db/backup
chmod 755 /app/db/backup
```
### 6.2 백업 스크립트 생성
```bash
vi /app/db/backup/backup_vips.sh
```
**스크립트 내용:**
```bash
#!/bin/bash
# 백업 설정
BACKUP_DIR="/app/db/backup"
DB_NAME="vips"
DB_USER="vips"
DB_PASSWORD="xit5811807"
DB_PORT="53306"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/${DB_NAME}_${DATE}.sql"
# 백업 실행
mysqldump -u ${DB_USER} -p${DB_PASSWORD} -P ${DB_PORT} ${DB_NAME} > ${BACKUP_FILE}
# 백업 파일 압축
gzip ${BACKUP_FILE}
# 30일 이상 된 백업 파일 삭제
find ${BACKUP_DIR} -name "${DB_NAME}_*.sql.gz" -type f -mtime +30 -delete
# 백업 결과 로그
if [ $? -eq 0 ]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') - 백업 성공: ${BACKUP_FILE}.gz" >> ${BACKUP_DIR}/backup.log
else
echo "$(date '+%Y-%m-%d %H:%M:%S') - 백업 실패" >> ${BACKUP_DIR}/backup.log
fi
```
**실행 권한 부여:**
```bash
chmod 700 /app/db/backup/backup_vips.sh
```
### 6.3 Crontab 설정 (매일 밤 12시 자동 백업)
```bash
# crontab 편집
crontab -e
# 아래 내용 추가
0 0 * * * /app/db/backup/backup_vips.sh
```
### 6.4 백업 관련 명령어
```bash
# 수동 백업 실행
/app/db/backup/backup_vips.sh
# 백업 파일 목록 확인
ls -lh /app/db/backup/
# 백업 로그 확인
tail -f /app/db/backup/backup.log
# crontab 설정 확인
crontab -l
# 백업 복원 (필요시)
gunzip /app/db/backup/vips_20240101_000000.sql.gz
mysql -u vips -p -P 53306 vips < /app/db/backup/vips_20240101_000000.sql
```

Loading…
Cancel
Save