- 쉘 파일 (백업 + 아카이브로그 삭제)
- tbrmgr 백업으로 진행되게 됩니다.
#!/bin/bash
# 오늘 날짜
today=$(date +%Y%m%d)
# 백업 루트 디렉토리
backup_dir="/data/hotbackup/tibero"
# 오늘 백업 디렉토리 및 압축 파일 경로
today_dir="$backup_dir/$today"
today_tar="$backup_dir/${today}.tar.gz"
# 삭제 기준일 (7일 초과된 파일 삭제)
del_date=$(date -d "8 days ago" +%Y%m%d)
# 아카이브 로그 디렉토리
archive_log_dir="/data/arch"
# 로그 기록용 파일
log_date=$(date +%Y-%m-%d)
log_file="$backup_dir/${log_date}_deleted_files.log"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] === Tibero Hot Backup Script Start ===" | tee -a "$log_file"
# 1. 오늘 날짜 디렉토리 생성
mkdir -p "$today_dir"
# 2. 백업 실행
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Starting backup to $today_dir" | tee -a "$log_file"
tbrmgr backup --compress=HIGH -o "$today_dir"
if [ $? -eq 0 ]; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Backup succeeded. Compressing..." | tee -a "$log_file"
tar -czf "$today_tar" -C "$backup_dir" "$today"
if [ $? -eq 0 ]; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Compression successful: $today_tar" | tee -a "$log_file"
rm -rf "$today_dir"
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Compression failed!" | tee -a "$log_file"
fi
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Backup failed!" | tee -a "$log_file"
exit 1
fi
# 3. 7일 초과된 백업 파일 삭제 (.tar.gz)
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Deleting .tar.gz backups older than 7 days..." | tee -a "$log_file"
find "$backup_dir" -maxdepth 1 -type f -name "*.tar.gz" -mtime +7 -print -exec rm -f {} \\; >> "$log_file" 2>&1
# 4. 7일 초과된 아카이브 로그(.arc) 삭제
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Deleting .arc archive logs older than 7 days from $archive_log_dir..." | tee -a "$log_file"
find "$archive_log_dir" -type f -name "*.arc" -mtime +7 -print -exec rm -f {} \\; >> "$log_file" 2>&1
echo "[$(date '+%Y-%m-%d %H:%M:%S')] === Tibero Hot Backup Script Complete ===" | tee -a "$log_file"
- 파일 당일 시점의 문자열로 폴더를 만들고 안에다 tbrmgr 백업파일을 두게 된다.
[root@ora19c backup]# pwd
/backup
[root@ora19c backup]# ll
total 8
drwxr-xr-x 2 tibero dba 4096 Jun 16 13:38 20250616
drwxr-xr-x 2 tibero dba 102 Jun 16 11:35 arch
drwxr-xr-x 2 tibero dba 30 Jun 16 13:55 scripts
drwxr-xr-x 3 tibero dba 4096 Jun 16 11:35 test_db
[root@ora19c backup]#
[root@ora19c 20250616]# ll
total 698608
-rw------- 1 tibero dba 104857600 Jun 16 13:38 bkp_20250616_6_0_0_45903
-rw------- 1 tibero dba 209715200 Jun 16 13:38 bkp_20250616_6_1_1_45903
-rw------- 1 tibero dba 104857600 Jun 16 13:38 bkp_20250616_6_3_2_45903
-rw------- 1 tibero dba 115343360 Jun 16 13:38 bkp_20250616_6_4_3_45903
-rw------- 1 tibero dba 104857600 Jun 16 13:38 bkp_20250616_6_5_4_45903
-rw------- 1 tibero dba 75743232 Jun 16 13:38 bkp_20250616_6_cf_45903