: tar cfps "/home1/dcas/dcas_bk/backup/DAILY/$DOW/dcas_home1_"$DOW.tar --directory /home1 -N $NEWER --exclude=home1/dc
as/dcas_bk :
: 위와 같이 --directory 옵션을 넣으면 시작할 때 뒤에 오는 디렉토리로 이동해서
: 압축을 시작합니다.
:
: exclude를 사용하려면 이동된 디렉토리에 대한 상대경로를 적던가 절대경로를
: 적어줘야 하는 걸로 압니다.
:
: 그리고 tar는 실행될 때 알아서 '/'를 제거하고 압축합니다.
: 압축 풀때 자칫하면 현재 시스템의 '/'부터 덮어써버릴 우려가 높기 때문이죠...
: 그래서 맨 앞의 '/'를 제거한다는 메시지를 내보냅니다.
:
: 그리고 함수에서 인자를 넘길때는...
: $0, $1, $2 이런 식으로 받아오면 됩니다.
: $0은 현재 파일이름(또는 함수 이름)
: $1은 첫번째 인자
: $2는 두번째 인자... 이런 식으로 넘어갑니다.
:
: 호출할 때는
: function_name arg1 arg2... 이런 식으로 하나 이상의 스페이스로 구분됩니다.
:
: 그리고.. 변경된... 은 잘 모르겠네요...
:
: tar를 사용할때는 --directory옵션을 이용해서 '/'로 이동한 후 여기서
: 상대경로를 이용하는 방법을 사용할 것을 권장합니다.
:
: tar -Icvpf /tmp/oracle.bz2 --directory / home/ --exclude=home/oracle --exclude=home/linux
:
: 요렇게... 말이죠...
:
: : 1. 변경된것이 없으면 아무것도 압축이 안되어야 하는데
: : 빈디렉토리가 압축이 되구요...
: :
: : 2. 특정디렉토리를 빼고 할려고
: : tar cfps "/home1/dcas/dcas_bk/backup/DAILY/$DOW/dcas_home1_"$DOW.tar
: : /home1 -N $NEWER --exclude=home1/dcas/dcas_bk
: : 로 exclude 옵션을 썼거든요..
: :
: : 근데 실행시킬때 에러는 안떨어지고 압축은 되는데
: : 풀어보면 제외할려고 했던 디렉토리까지 압축이 되어 있습니다...
: :
: : 3. 실행시 아래와 같은 에러가 떨어지거든요..
: : tar: Removing leading `/' from member names
: : 그런데 압축은 되구요...
: :
: : 4. 그리고 쉘스크립트로 작성시에 function을 만들었는데요...
: : tar_confirm($dir){
: : result=`echo $?`
: : if [ $result = "0" ]; then
: : mail -s '$dir backup sucess' mungi at kbes.co.kr < "out.txt"
: : else
: : mail -s '$dir backup faild' mungi at kbes.co.kr < "out.txt"
: :
: : fi
: : }
: :
: : 제가 의도하는 바는 압축한 디렉토리 명을 넘기면
: : 그 디렉토리의 압축이 성공했는지 실패했는지 판단해서
: : 성공/실패 여부를 메일로 보내는거거든요..
: :
: : 근데 function에 아규먼트 넘기는 부분이 쉘에서는 어떻게 되는지 모르겠어요..
: : 위에처럼 하면 될것 같은데 에러가 떨어지더군요...
: :
: : 부탁드립니다...
:
: --
: :wq!