728x90
반응형

지난번에 특정파일을 제외한 파일들을 백업하는 내용을 올린 것에

 

호응해주시는 두분의 질문에 대한 답변을 올립니다.

 

 

이번에 적을 내용은

 

특정대상 파일을 file type별로 구분 지어 백업하는 것과

 

이러한 작업들을 쉘프로그래밍하여 자동화시키는 것을 간단히 적어보겠습니다.

 

 

우선 파일유형별(file type) 백업방법 입니다.

 

대부분의 unix 시스템에는 참 많은 심볼릭 링크들을 사용합니다.

 

백업할때 하위에 있는 심볼릭링크때문에

다른 마운트포인트의 파일시스템을 백업하는 경우가 생깁니다.

 

이 부분의 처리방법은 AIX에서는 의외로 간단합니다.(물론 리눅스에서도 간단합니다.)

 

 

백업대상의 파일유형을 지정하는 것입니다.

 

이러한 백업을 하는 것에는 수많은 방법론이 존재합니다.

 

그 중 대표적인 몇가지를 적어보겠습니다.

 

 

1. 백업할 파일유형을 선택하여 백업하는 것입니다.

(백업의 대상이 비어있는 디렉토리는 제외되어도 되는 경우에 해당됩니다.)

 

find /(디렉토리명) -xdev -type f -exec tar -cvf backup.tar {} \;

 

 

2. 백업대상에서 특정파일유형만을 제외시키는 법입니다.

 

find /(디렉토리명) -xdev -type l > elist

(심볼릭링크를 리스트로 만듭니다.)

 

find /(디렉토리명) -xdev | grep -v `cat elist` > flist

 

tar -cvf backup.tar -L flist

 

 

3. AIX의 엑기스를 이용하여 심볼릭링크만을 제외시키는 방법입니다.

 

find /(디렉토리명) ! -type l -exec tar -cvf backup.tar {} \;

 

 

마지막 3번은 리눅스에서는 지원하지 않는 문법이더군요.

 

그럼 또 궁금한 점 있으시면 메일이나 안부게시판에 남겨주세요.

 

비밀글이 아니어도 됩니다.

 

그럼 오늘 하루도 무사히!

 

 

아참 쉘프로그래밍.. -_-;; 깜박할뻔..

 

그냥 위의 내용을 쉘스크립트로 구현하면 됩니다.(말은 참 쉽게 합니다만!)

 

알고보면 정말 쉽습니다.

 

 

백업 쉘스크립트의 가장 주요구문은

 

find $1 -type f -exec tar -cvf backup`$_ymd`.tar {} \;

 

이 구문입니다.

 

파일명을 backup.sh 로 만들고 위의 구문을 사용한 경우

 

backup.sh WAS(디렉토리명)

 

형식으로 사용합니다.

 

물론 위의 구문 중 $_ymd 부분은 변수선언이므로

 

이 부분은 date명령어에 옵션을 주어서 입맛에 맞게 사용하시면 됩니다.

 

위의 구문을 이용하여 대화형식을 백업 쉘스크립트를 만드는 경우

 

====================================

 

#!/bin/ksh

export PATH=/bin


read i?" 백업할 파일 또는 디렉토리명을 입력해주세요 : "
read j?" 백업경로가 "\"$i\""이(가) 맞습니까? (y/n) : "

_ymd=`date "+%Y%m%d_%H:%S"`
_count=`find $i -type f | wc -l`

 

if [ $j = y ]
 then
find $i -type f -exec tar -cvf backup$_ymd.tar {} \;
echo "\n\t Backup is Successful \n"
echo "\t 백업된 파일갯수 $_count 개 \n"
 else
clear
echo "\n\t y 또는 n 를 정확히 입력해주세요. \n"
fi

====================================

 

 

이렇게 살을 덕지덕지 붙이면 제법 그럴듯한 백업쉘스크립트가 완성됩니다.

(오류가 나는 부분이 있으시면 리플남겨 주세요. 후딱 날림으로 적다보니 곳곳에 오류가 존재할 것이라고 생각됩니다. -_-)

 

그럼 백업작업에 도움되시길 바랍니다.

 

추가 질문은 리플이나 메일, 안부게시판에 올려주세요.

 

가능하면 메일말고 다른걸 이용해주세요.. 업무상 메일이 쏟아질때가 많아서..

 

 

그럼 모두 수고하세요.

 

728x90
반응형

'UNIX&LINUX > AIX' 카테고리의 다른 글

부팅시 라우팅 추가하기  (0) 2014.07.04
클러스터링 모니터링  (0) 2014.07.04
4.3.3 HACMP 구동  (0) 2014.07.04
AIX 4.3.3 Security  (0) 2014.07.04
AIX 서버 디스크 용량 확인 후 로그 삭제할 때  (0) 2014.05.16
AIX du max-depth 1  (0) 2014.05.13
[AIX] 폴더단위 용량 보기  (0) 2014.05.13
[AIX] 파일시스템 용량 늘리기  (0) 2014.05.13
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,