본문 바로가기

닷컴's_열공/Linux

리눅스 oracle 자동백업 스크립트

1. batchDbBackup.log 파일과 DbBackup_batch.sh파일 생성

  DbBackup_batch.sh 은 db백업 명령을 담고 있는 스크립트 파일이고 batchDbBackup.log는 스크립트 실행 기록을 담기위한 파일임


2. DbBackup_batch.sh 파일내용작성


#!/bin/bash

logfile="/devel/batchDbBackup.log";

date=`date +%y%m%d-%H%M%S`;


echo "program start $date" >> $logfile


## 아래 오라클 환경설정은 각자의 환경설정에 맞게 쓴다.

PATH=$PATH:$HOME/bin

TERM=vt100; export TERM

DISPLAY=localhost:0.0; export DISPLAY

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601

export ORACLE_OWNER=root

export ORACLE_SID=orcl

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

umask 022

export PATH=$PATH:.:$ORACLE_HOME/bin


###오라클을 백업하기 위한 실제 명령

export 옵션은 koug.net 또는 oramaster.net 에 가면 상세한 내용을 찾아볼수 있다.

exp userid= 아이디/비밀번호  file='/devel/oracle_backup/temp/oracle_backup.dmp'

 

#기존의 백업된 파일을 다른이름으로 저장시킨다. 이는 백업파일을 2개씩 보존하기 위함이다.

mv /devel/oracle_backup/oracle_backup.dmp /devel/oracle_backup/oracle_backup.old

 

#새로 생성된 백업파일을 백업폴더로 이동시킨다.

mv /devel/oracle_backup/temp/oracle_backup.dmp /devel/oracle_backup/


date=`date +%y%m%d-%H%M%S`;

echo "program end $date" >> $logfile


3. 리눅스 crontab에 해당 스크립트 추가


 crontab -l 로 명령리스트 확인후 crontab -e로 등록(vi입력 형식)

 예) 매일 새벽 4시에 수행시

00 04 * * * /devel/DbBackup_batch.sh



출처: http://blog.naver.com/bluemoonlk?Redirect=Log&logNo=110034992725