[Fastcomet] 자동 백업 스크립트 생성

유용한 코드 작성일: 2026-01-30 수정일: 2026-01-30 10:44
수정

1단계: .my.cnf 파일 생성

nano ~/.my.cnf

파일 내용 입력:

[client]
user=daintour_mbox_user
password=password@sample
host=localhost

저장: Ctrl + XYEnter


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 + XYEnter


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 명령어에도 사용 가능
  • ✅ 가장 안전한 방법