데이터베이스 자동 백업 스케줄링 방법
1. 백업 스크립트 만들기
/usr/local/bin/mysql_backup.sh
#!/bin/bash
# === 설정 ===
USER="root" # MySQL 계정
PASSWORD="비밀번호" # MySQL 비밀번호
DATABASE="my_database" # 백업할 DB 이름
BACKUP_DIR="/var/backups/mysql" # 백업 파일 저장 경로
# === 실행 ===
mkdir -p $BACKUP_DIR
FILE_NAME="${DATABASE}_$(date +%F_%H-%M-%S).sql.gz"
mysqldump -u $USER -p$PASSWORD $DATABASE | gzip > $BACKUP_DIR/$FILE_NAME
# 오래된 백업 삭제 (30일 이상)
find $BACKUP_DIR -type f -mtime +30 -delete
2. 스크립트 권한 부여
chmod +x /usr/local/bin/mysql_backup.sh
3. corn에 등록(스케줄링)
crontab -e
0 2 * * * /usr/local/bin/mysql_backup.sh
4. 복원 방법
gunzip < my_database_2025-08-11_02-00-00.sql.gz | mysql -u root -p my_database