백업 파일 이름을 현재 시간으로 설정하려면, 스크립트에서 DATE
변수를 사용하여 현재 시간을 파일 이름에 반영할 수 있습니다. 아래 예시에서는 파일 이름을 YYYYMMDD_HHMMSS
형식으로 설정하여, 각 백업이 고유한 시간에 맞는 이름을 가질 수 있도록 했습니다.
1. mariadb 데이터베이스 백업 스크립트 (현재 시간 기준 파일 이름)
스크립트: backup_db.sh
#!/bin/bash
# 변수 설정
DB_USER="your_db_user" # 데이터베이스 사용자명
DB_PASSWORD="your_db_password" # 데이터베이스 비밀번호
DB_NAME="your_db_name" # 백업할 데이터베이스 이름
BACKUP_DIR="/path/to/backup" # 백업을 저장할 디렉터리
DATE=$(date +"%Y%m%d_%H%M%S") # 현재 날짜 및 시간 (백업 파일명에 사용)
BACKUP_FILE="${BACKUP_DIR}/${DB_NAME}_backup_${DATE}.sql" # 백업 파일 경로
# 백업 디렉토리가 존재하는지 확인하고 없으면 생성
if [ ! -d "$BACKUP_DIR" ]; then
mkdir -p "$BACKUP_DIR"
fi
# MySQL 데이터베이스 백업
mysqldump -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" > "$BACKUP_FILE"
# 백업이 성공적으로 완료되었는지 확인
if [ $? -eq 0 ]; then
echo "백업이 성공적으로 완료되었습니다: $BACKUP_FILE"
else
echo "백업에 실패했습니다."
fi
스크립트 실행권한주기
chmod +x /path/to/your/backup_db.sh
2. 자동 실행 설정 (crontab 사용)
위의 스크립트를 매일 자동으로 실행하도록 설정하려면, crontab
을 사용할 수 있습니다.
- 터미널에서 crontab 파일을 엽니다:
crontab -e
- 매일 자정(0시)에 백업 스크립트를 실행하도록 추가:
0 0 * * * /path/to/your/backup_db.sh
위 설정은 매일 자정에 backup_db.sh
스크립트를 실행하여 데이터베이스를 백업하고, 백업 파일 이름을 현재 시간으로 저장하도록 설정합니다.
백업 파일 이름 예시
- MariaDB 백업 파일 이름은 다음과 같이 생성됩니다:
your_db_name_backup_20250228_123000.sql
이렇게 하면 각 백업 파일이 정확한 시간에 따라 구분되며, 여러 번의 백업이 덮어쓰이지 않도록 할 수 있습니다.
답글 남기기