오라클 아카이브 로그 백업 및 이동 쉘 스크립트

오라클 아카이브로그 백업 및 이동
– find 명령에 -mtime은 일당인데 -mmin 같은 옵션이 없어 touch로 파일생성후
그 파일의 생성일과 비교하여 1시간 전 데이터를 검색 할수 있다.

#! /bin/ksh

ORACLE_ARCHIVE_SRC_DIR="/rtd_data10/ARCH"
ORACLE_ARCHIVE_DST_DIR="/backup/rtd/rtd_data10/ARCH"
ORACLE_ARCHIVE_PREFIX_NAME="archive"

#------------------------------------------------------
# 오래된 압출파일 삭제 주기(일단위)
#------------------------------------------------------
DEL_GZIP_FILE_INTERVAL="60"

#------------------------------------------------------
# KST-9는 시간 -8은 1시간전
#------------------------------------------------------
FIND_TIME=`TZ=KST-8; date +%Y%m%d%H%M`

TEMP_DIR=$ORACLE_ARCHIVE_SRC_DIR/$FIND_TIME

#------------------------------------------------------
# 임시폴더 생성
#------------------------------------------------------
mkdir -p $TEMP_DIR

#------------------------------------------------------
# 임시폴더에 생성일이 1시간전인 파일 생성
#------------------------------------------------------
touch -t $FIND_TIME  $TEMP_DIR/$FIND_TIME

#------------------------------------------------------
# 템프폴더로 이동
#------------------------------------------------------
find $ORACLE_ARCHIVE_SRC_DIR -name "$ORACLE_ARCHIVE_PREFIX_NAME*" ! -newer $TEMP_DIR/$FIND_TIME -exec mv {} $TEMP_DIR \;

#------------------------------------------------------
# 실제 로그저장소로 압축
#------------------------------------------------------
tar cf - $TEMP_DIR | gzip > $ORACLE_ARCHIVE_DST_DIR/$FIND_TIME.tar.gz

#------------------------------------------------------
# 템프폴더 삭제
#------------------------------------------------------
find $TEMP_DIR -exec rm -rf {} \;

#------------------------------------------------------
# 기존 압출파일 삭제, 현재 30일전 압축파일을 모두 삭제한다
#------------------------------------------------------
find $ORACLE_ARCHIVE_DST_DIR -name "*.tar.gz" -mtime +$DEL_GZIP_FILE_INTERVAL -exec rm -f {} \;
exit

답글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.