[Fastcomet] 자동 백업 스크립트 생성
1단계: .my.cnf 파일 생성
nano ~/.my.cnf
파일 내용 입력:
[client]
user=daintour_mbox_user
password=password@sample
host=localhost
저장: Ctrl + X → Y → Enter
2단계: 보안 권한 설정 (중요!)
chmod 600 ~/.my.cnf
3단계: 스크립트 수정
nano /home/daintour/backup_musicbox.sh
아래 전체 내용을 붙여 넣기:
#!/bin/bash
BACKUP_DIR="/home/daintour/backups"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
# 파일 백업
tar -czf $BACKUP_DIR/musicbox_files_$DATE.tar.gz -C /home/daintour musicbox.kr/
# DB 백업 (비밀번호는 ~/.my.cnf에서 읽음)
/bin/mysqldump --no-tablespaces daintour_mbox > $BACKUP_DIR/musicbox_db_$DATE.sql
# 7일 이상 된 백업 삭제
find $BACKUP_DIR -name "musicbox_*" -type f -mtime +7 -delete
echo "백업 완료: $DATE"
저장: Ctrl + X → Y → Enter
4단계: 테스트 실행
/home/daintour/backup_musicbox.sh
성공하면:
백업 완료: 20260130_HHMMSS
확인:
ls -lh /home/daintour/backups/musicbox_db_*.sql
🎯 크론 등록 방법
crontab -e
편집: i
추가할 내용 (로그 남기기 버전):
# MusicBox 자동 백업 (매일 새벽 3시)
0 3 * * * /home/daintour/backup_musicbox.sh >> /home/daintour/backups/backup.log 2>&1
저장: ESC → :wq
📝 최종 확인
- ✅ 스크립트 경로:
/home/daintour/backup_musicbox.sh - ✅ 백업 저장 경로:
/home/daintour/backups/ - ✅ 로그 경로:
/home/daintour/backups/backup.log
🔒 .my.cnf 방법의 장점
- ✅ 특수문자 문제 완전 해결
- ✅ 비밀번호가 스크립트에 노출 안 됨
- ✅ 다른 MySQL 명령어에도 사용 가능
- ✅ 가장 안전한 방법