1월 13, 2026가이드
Linux 서버에서 자동 백업을 구성하는 방법
파일 및 데이터베이스를 위한 cron 작업을 사용한 자동 백업 스크립트 설정에 대한 단계별 가이드.

정기적인 백업은 데이터를 보호하는 데 필수적입니다. 이 가이드는 Hiddence 서버에서 쉘 스크립트와 cron 작업을 사용하여 파일과 데이터베이스에 대한 자동 백업을 설정하는 방법을 보여줍니다.
백업 스크립트 생성
파일을 위한 백업 스크립트를 만듭니다:
bash
sudo nano /usr/local/bin/backup.sh
#!/bin/bash
BACKUP_DIR="/backups"
SOURCE_DIR="/var/www"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz $SOURCE_DIR
find $BACKUP_DIR -name "backup_*.tar.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/backup.shCron 작업 설정
cron을 사용하여 자동 백업을 예약하세요:
bash
sudo crontab -e
# 매일 새벽 2시에 백업을 실행하려면 이 라인을 추가하세요
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1데이터베이스 백업 스크립트
MySQL 데이터베이스 백업을 위한 스크립트를 만듭니다:
bash
sudo nano /usr/local/bin/db_backup.sh
#!/bin/bash
BACKUP_DIR="/backups/db"
DB_NAME="your_database"
DB_USER="root"
DB_PASS="your_password"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_backup_$DATE.sql
gzip $BACKUP_DIR/db_backup_$DATE.sql
find $BACKUP_DIR -name "db_backup_*.sql.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/db_backup.sh원격 백업 저장소
rsync 또는 SCP를 사용하여 백업을 원격 서버로 복사하세요:
bash
#!/bin/bash
BACKUP_DIR="/backups"
REMOTE_HOST="backup-server.com"
REMOTE_USER="backup"
REMOTE_DIR="/backups"
rsync -avz -e ssh $BACKUP_DIR/ $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/백업 보존 정책
특정 기간 동안 백업을 유지하도록 보존 설정을 구성하세요:
bash
# 일일 백업을 7일 동안 유지
find /backups -name "backup_*.tar.gz" -mtime +7 -delete
# 주간 백업을 4주 동안 유지
find /backups/weekly -name "backup_*.tar.gz" -mtime +28 -delete
# 월간 백업을 12개월 동안 유지
find /backups/monthly -name "backup_*.tar.gz" -mtime +365 -delete백업 베스트 프랙티스
- 백업 복원을 정기적으로 테스트하세요
- 백업을 여러 위치에 저장하세요
- 중요한 백업 데이터를 암호화하세요
- 오류가 있는지 백업 로그를 모니터링하세요
- 백업 절차를 문서화하세요
- 백업 실패 시 알림을 설정하세요