2. DBMS이야기/01. PostgreSQL

PPAS DB Full 백업 스크립트 작성 및 관리 방법

OSSW(Open Source System SoftWare 2014. 5. 23. 08:41

PPAS DB Full 백업 스크립트 작성 및 관리 방법

  -> 1) DB 백업 솔루션이 없을 경우

  -> 2) Local Disk에 저장해야 할 경우 

 


* 현재 적용되고 시스템을 예시로 작성 됨

 

·         사전 확인 필요 사항

 

1) 백업 받을 수 있는 여유공간이 있는 f/s 영역 확인

-> /data 디렉토리의 사이즈는 현재 12GB이고,  /arch_backup 디렉토리의 여유공간은 645GB로 여유공간이 많은 상태

 

###############################

Size  Used Avail Use% Mounted on

788G  103G  645G  14% /arch_backup

197G   12G  176G   7% /data

###############################

 

2) DB 백업/보관 주기 설정

-> 여유 F/S 시스템 공간에 따라 백업/보관 주기 설정 검토가 필요

    - DB Full 백업 : 1 Full 백업 및 보관주기 1달로 설정

    - 아카이브 백업 : 매일 6시간 간격으로 백업 및 보관주기 1달로 설정

############################################################################################    

00 22 * * 3 /PostgresPlus/9.2AS/dba/tmsdb_backup.sh       ## TMSDB HOT BACKUP

59 23,05,11,17 * * * /PostgresPlus/9.2AS/dba/archive_backup.sh     ## Archive 로그 관리(/arch_backup/backup/_arch)

############################################################################################    

 

 

·         DB FULL 백업 설정  (예시) /PostgresPlus/9.2AS/dba/tmsdb_backup.sh)

 

## 백업 받을 디렉토리 생성

mkdir -p /arch_backup/backup/`date +%Y%m%d`_pgbackup                  

 

## 백업시작 선언

/PostgresPlus/9.2AS/dba/db_before_hotbackup.sh   

-해당 Shall 스크립트 아래 참고

######## before backup! ##########

export PATH=/PostgresPlus/9.2AS/bin:$PATH

clustername="tmsdb"

pgport="5444";

. /PostgresPlus/9.2AS/pgplus_env_timemgt.sh

psql -U enterprisedb -p $pgport -c "select pg_start_backup('$clustername-backup',true)" timemgt

 

      

## /data 디렉토리 압축하여백업 받을 디렉토리에 저장

tar zcvfP /arch_backup/backup/`date +%Y%m%d`_pgbackup/`date +%Y%m%d`_pgbackup.tar.gz /data   

 

## 백업종료 선언

/PostgresPlus/9.2AS/dba/db_after_hotbackup.sh

-> 해당 Shall 스크립트 아래 참고

###### after backup! ###############

export PATH=/PostgresPlus/9.2AS/bin:$PATH

clustername="tmsdb";

pgport="5444";

. /PostgresPlus/9.2AS/pgplus_env_timemgt.sh

psql -U enterprisedb -p $pgport -c "select pg_stop_backup()" timemgt

 

 

·         아카이브 백업 설정 (예시)/PostgresPlus/9.2AS/dba/archive_backup.sh )

 

#월별로 아카이브파일 보관되도록 디렉토리 생성

mkdir -p /arch_backup/backup/`date +%Y%m`_arch 

 

#아카이브 디렉토리 경로에 있는 아카이브 파일 MOVE

cd /archive/tmsdb

mv * /arch_backup/backup/`date +%Y%m`_arch 



                                                                                                                  by 김용하 (2014.05.23)