Background Image
Linux
2009.04.01 08:23

cron을 이용한 백업 자동화

조회 수 33122 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

 

CUBRID2008 LINUX CRON BACKUP 자동화 설정하기

소개: CUBRID2008 LINUX cron backup script를 설정하는 방법을 소개하는 문서로 Unix 계열 모두 사용할 수 있다. 또한 이 문서는 cron 등록방법과 실행 방법을 다루고 있으며, BACKUP 형태를 3단계로 나누어 관리와 편의성을 제공하고자 작성 하였다

2009-03-30 기술컨설팅팀, 정만영, CUBRID2008

적용 대상: CUBRID2008 Linux version.

백업방법

Backup Utility를 이용한 백업은 backupdb command를 이용한 백업이며, 이에 대한 방법은 다음과 같음

Backup Utility

cubrid backupdb [options] source_database

option

    

    

default

-S/-C

stand-alone,clinet-server mode 지정

$CUBRID_MODE

-D

filepath/device

백업 볼륨이 저장될 경로 지정

log file 경로와 동일

-l

0,1,2

백업 레벨

0 레벨

-r

백업후 불필요한 archive log 삭제

수행 않음

Backup Level

Level

      

level 0

Full Backup

level 1

Level 0 이후에 변경된 것에 대한 backup

level 2

Level 1 이후에 변경된 것에 대한 backup

참조: 하위 레벨의 backup 이 존재하지 않는 경우, 상위 backup level을 사용할 수 없습니다. , Level 0 backup를 수행하지 않고는 Level 1 backup을 수행할 수 없고, Level 1 backup을 수행하지 않고는 Level 2의 백업을 수행할 수 없다.

백업을 수행한 후 생성되는 파일은 다음과 같은 형태로 생성됨 

[DB_NAME]_bk[Backup Level]v[Serial No.]

) testdb_bk0v000 à full backup(level 0), testdb_bk1v000 à incremental backup(level 1)

 

백업정책

Backup 주기

백업은 Level을 적용하여 월간, 주간, 일일 백업을 수행하는 것을 권장함

백업주기

Backup Level

   

백업매체

일요일 백업

backupdb를 이용한 level 0 backup

full Backup / online

디스크

,,수백업

backupdb를 이용한 level 1 backup

incremental / online

디스크

,,토백업

backupdb를 이용한 level 2 backup

incremental / online

디스크

백업 관련 주의 사항

백업매체(disk)의 여유 용량을 수시로 확인이 필요하며, full백업을 성공적으로 수행한 경우 백업로그와 백업파일을 반드시 확인한다. 이전 백업 파일을 삭제해도 관계 없으나, 백업 받은 파일을 2차 백업하지 않을 경우1개월 이상 보관하는 것을 권장 한다.

일요일백업0 (FULL BACKUP)이 없으면 월,,/,,(Incremental)로 복구가 안 되는 것을 참조하여 과거 백업파일을 정리 한다.

백업 script & cron

백업 환경

/home/cubrid 경로에 cubrid user, bash shell cub_db 데이터베이스 생성 후 백업 환경을 구현한다.

 

Backup script

#! /bin/bash

# file name : /home/cubrid2008/backup_cub_db.sh

########################## CUBRID PATH ############################

CUBRID=/home/cubrid2008/CUBRID

CUBRID_DATABASES=/home/cubrid2008/CUBRID/databases

CUBRID_LANG=en_US

ld_lib_path=`printenv LD_LIBRARY_PATH`

if [ "$ld_lib_path" = "" ]

then

LD_LIBRARY_PATH=$CUBRID/lib

else

LD_LIBRARY_PATH=$CUBRID/lib:$LD_LIBRARY_PATH

fi

SHLIB_PATH=$LD_LIBRARY_PATH

LIBPATH=$LD_LIBRARY_PATH

PATH=$CUBRID/bin:$CUBRID/cubridmanager/cmclient:$PATH

export CUBRID

export CUBRID_DATABASES

export CUBRID_LANG

export LD_LIBRARY_PATH

export SHLIB_PATH

export LIBPATH

export PATH

 

############################# BACKUP PATH ##########################

BACKUP_DATE=`date +%m%d`

BACKUP_DIR=/BACKUP/CUB_DB /${BACKUP_DATE}

BACKUP_LOG=${BACKUP_DIR}/backup_cub_db${BACKUP_DATE}.log

mkdir ${BACKUP_DIR}

 

if [ $# != 1 ]

then echo "##############################################"

     echo "#### cubrid_backup.sh command(level 0,1,2) ####"

     echo "##############################################"

     exit 1

fi

 

level=$1

 

if [ $level = “0” ]

    then

    cubrid backupdb -C -D ${BACKUP_DIR} -l 0 -z -r cub_db   >> ${BACKUP_LOG}

 

elif [ $level = “1” ]

    then

    cubrid backupdb -C -D ${BACKUP_DIR} -l 1 –z -r cub_db   >> ${BACKUP_LOG}

 

elif [ $level = “2” ]

    then

    cubrid backupdb -C -D ${BACKUP_DIR} -l 2 –z -r cub_db   >> ${BACKUP_LOG}

 

else

echo "#############################################################"

echo "####  commandlevel 0,1,2 입력 바랍니다.  #####"

echo "#############################################################"

 

exit 1

 

fi

exit;

cron 등록

cron 등록방법은 아래를 참조하여 등록한다.

예제)

$>cd /var/spool/cron/

--à cron 등록할 위치 이동

$>vi root (또는 crontab –e 사용할 수 있으며 crontab으로 등록하면 cron process restart 필요 없다)

--à 등록할 root cron 열어 아래 사항을 등록

0 1 * * 7 su - cubrid2008 -c "/home/cubrid2008/backup_cub_db.sh 0"

0 05 * * 123 su - cubrid2008 -c "/home/cubrid2008/backup_cub_db.sh 1"

0 06 * * 456 su - cubrid2008 -c "/home/cubrid2008/backup_cub_db.sh 2"

$>ps –ef | grep cron

--à cron process를 찾아 kill

$>kill -9 4763

$>/sbin/cron

--à cron restart

참조: 위 사항은 /home/cubrid2008/ 위치에 백업 스크립트를 만들어 등록한 예제이다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
46 튜닝 [질의튜닝]order by desc가 인덱스 타게 하려면 admin 2011.07.14 28484
45 튜닝 CUBRID 2008 R4.0의 커버링 인덱스(covering index)는 무엇인가? file admin 2011.07.14 29883
44 튜닝 SNS 유형 서비스에서 CUBRID와 MySQL 조회 성능 비교 file admin 2011.07.14 21188
43 기타 CUBRID 볼륨 공간 재사용률 비교 - 2008 R3.1 vs. 2008 R4.0 file admin 2011.07.14 16555
42 기타 CUBRID 2008 R4.0 파라미터 변경 사항 (일부) file admin 2011.07.14 13154
41 기타 CUBRID 2008 R4.0 GA 버전의 주요 기능만 요약한 PPT 문서 file admin 2011.07.14 15462
40 기타 동시 접속자에 따른 파라미터 설정 admin 2011.07.14 25687
39 기타 CUBRID 매니저 R3.1에서 웹호스팅 서버의 CUBRID R2.1 접속하는 방법 (큐브리드 매니저에서 다른 버전의 큐브리드 서버 접속 방법) file admin 2011.07.14 31509
38 기타 [주의사항] CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점 admin 2011.07.14 52797
37 기타 자주 발생하는 큐브리드(cubrid) 에러 메시지 정리 admin 2011.07.14 81445
36 Install CUBRID Ubuntu Launchpad Installation 방법 file 정만영 2011.07.19 29604
35 Install LINUX CUBRID 4.0 매니저 설치방법 file 정만영 2011.07.19 23654
34 기타 select .. for update 처리를 위한 Stored Procudure 등록 및 사용법 남재우 2011.12.10 24873
33 Install CUBRID기반으로 XE 운영하기 – 설치가이드 file cubebridge 2012.04.13 30933
32 Java CUBRID와 Oracle의 Clob 타입 사용 방법 비교. seongjoon 2012.06.30 54562
31 ODBC/OLEDB VB에서 CUBRID ODBC/OLEDB 사용하는 방법 및 샘플코드. file seongjoon 2012.06.30 26927
30 기타 HA 환경 구성 시 데이터 복제 지연이 발생하는 경우 ECHO(7) port를 확인하자. 손승일 2012.11.29 26448
29 PHP Apache, PHP 설치 방법 file 이용미 2013.05.16 41248
28 PHP phpize를 이용한 PHP 모듈 연동 방법(CUBRID2008 R4.3 버전) file 이용미 2013.05.16 20858
27 Linux CUBRID Linux 부팅시 자동시작 서비스 설정 방법 정만영 2013.09.16 25480
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales