Tibero

Tibero 백업스크립트

ksk04 2025. 12. 27. 18:23
  • 쉘 파일 (백업 + 아카이브로그 삭제)
  • 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

'Tibero' 카테고리의 다른 글

Tibero 데이터 경로 변경  (0) 2025.06.07
Tibero 테이블 스페이스  (0) 2025.06.07
Tibero 핫백업 데이터 이관  (0) 2025.06.07
Tibero 감사 (테이블 접근) 설정  (0) 2025.06.07
아카이브 로그 모드로 변경  (0) 2025.06.07