ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IBM AIX TAR exclude 제외 방법
    System of Infra/Unix System 2020. 5. 11. 18:39
    반응형

    AIX로고이미지

     

    IBM AIX TAR EXCLUDE 제외 방법

    #시나리오#

    /tmp/pinetree/pinetree_clone의 디렉토리 상태에서 pinetree_clone의 디텍토리 제외하고 pinetree만 tar로 백업을 하기 위한 방법

    [root@test_svr1:/tmp]# mkdir pinetree
    [root@test_svr1:/tmp]# ls -al | grep -i pinetree
    drwxr-xr-x    3 root    system          256 May 08 14:41 pinetree

    -> /tmp 밑에 하위디렉토리로 pinetree 이름으로 디렉토리를 생성합니다.

    [root@test_svr1:/tmp/pinetree]# mkdir pinetree_clone
    [root@test_svr1:/tmp/pinetree]# ls -al | grep -i pinetree_clone

    -> /tmp/pinetree 하위디렉토리로 pinetree_clone이라는 디렉토리를 생성합니다.

    [root@test_svr1:/tmp/pinetree/]# vi son
    -rw-r--r--    1 root    system            4 May 08 14:47 son

    -> /tmp/pinetree 디렉토리에 son이라는 편집 파일을 한 개 생성해줍니다.

    [root@test_svr1:/tmp/pinetree]# vi son_add.sh
    #!/usr/bin/sh
    i=1
    while [ $i -le 20 ]
    do
    cp son son$i
    i=`expr $i + 1`
    done

    -> son이라는 편집 파일을 한 번에 20개 생성하기 위한  son_add.sh 스크립트를 작성합니다.

    [root@test_svr1:/tmp/pinetree]# chmod 777 son_add.sh
    [root@test_svr1:/tmp/pinetree]# sh son_add.sh

    -> 권한을 777로 변경해 준 뒤 son_add.sh의 스크립트를 기동 시켜줍니다.

    [root@test_svr1:/tmp/pinetree]# ls -al | grep -i son 
    -rwxrwxrwx    1 root    system          76 May 08 14:55 son_add.sh
    -rw-r--r--    1 root    system          235 May 08 14:49 son
    -rw-r--r--    1 root    system          235 May 08 14:55 son1
    -rw-r--r--    1 root    system          235 May 08 14:55 son2
    -rw-r--r--    1 root    system          235 May 08 14:55 son3
    -rw-r--r--    1 root    system          235 May 08 14:55 son4
    -rw-r--r--    1 root    system          235 May 08 14:55 son5
    -rw-r--r--    1 root    system          235 May 08 14:55 son6
    -rw-r--r--    1 root    system          235 May 08 14:55 son7
    -rw-r--r--    1 root    system          235 May 08 14:55 son8
    -rw-r--r--    1 root    system          235 May 08 14:55 son9
    -rw-r--r--    1 root    system          235 May 08 14:55 son10
    -rw-r--r--    1 root    system          235 May 08 14:55 son11
    -rw-r--r--    1 root    system          235 May 08 14:55 son12
    -rw-r--r--    1 root    system          235 May 08 14:55 son13
    -rw-r--r--    1 root    system          235 May 08 14:55 son14
    -rw-r--r--    1 root    system          235 May 08 14:55 son15
    -rw-r--r--    1 root    system          235 May 08 14:55 son16
    -rw-r--r--    1 root    system          235 May 08 14:55 son17
    -rw-r--r--    1 root    system          235 May 08 14:55 son18
    -rw-r--r--    1 root    system          235 May 08 14:55 son19
    -rw-r--r--    1 root    system          235 May 08 14:55 son20

    -> son_add.sh 스크립트를 통해서 son이라는 편집 파일이 20개 생성된 것을 확인할 수 있습니다.

    [root@test_svr1:/tmp/pinetree/pinetree_clone]#vi son_clone
    [root@test_svr1:/tmp/pinetree/pinetree_clone]# ls -al | grep -i son_clone
    -rw-r--r--    1 root    system          120 May 08 15:10 son_clone

    -> /tmp/pinetree/pinetree_clone 디렉토리에 son_clone이라는 편집 파일을 한 개 생성해줍니다.

    [root@test_svr1:/tmp/pinetree/pinetree_clone]# vi son_clone_add.sh
    #!/usr/bin/sh
    i=1
    while [ $i -le 10 ]
    do
    cp son_clone son_clone$i
    i=`expr $i + 1`
    done

    -> son_clone이라는 편집 파일을 한 번에 10개 생성하기 위한  son_clone_add.sh 스크립트를 작성합니다.

    [root@test_svr1:/tmp/pinetree/pinetree_clone]# chmod 777 son_clone_add.sh
    [root@test_svr1:/tmp/pinetree/pinetree_clone]# sh son_clone_add.sh

    -> 권한을 777로 변경해 준 뒤 son_clone_add.sh의 스크립트를 기동 시켜줍니다.

    [root@test_svr1:/tmp/pinetree/pinetree_clone]# ls -al | grep -i son_clone
    -rwxrwxrwx    1 root    system          87 May 08 15:13 son_clone_add.sh
    -rw-r--r--    1 root    system          120 May 08 15:10 son_clone
    -rw-r--r--    1 root    system          120 May 08 15:13 son_clone1
    -rw-r--r--    1 root    system          120 May 08 15:13 son_clone2
    -rw-r--r--    1 root    system          120 May 08 15:13 son_clone3
    -rw-r--r--    1 root    system          120 May 08 15:13 son_clone4
    -rw-r--r--    1 root    system          120 May 08 15:13 son_clone5
    -rw-r--r--    1 root    system          120 May 08 15:13 son_clone6
    -rw-r--r--    1 root    system          120 May 08 15:13 son_clone7
    -rw-r--r--    1 root    system          120 May 08 15:13 son_clone8
    -rw-r--r--    1 root    system          120 May 08 15:13 son_clone9
    -rw-r--r--    1 root    system          120 May 08 15:13 son_clone10

    -> son_clone_add.sh 스크립트를 통해서 son_clone이라는 편집 파일이 10개 생성된 것을 확인할 수 있습니다.

    [root@test_svr1:/tmp/pinetree]# find ./pinetree_clone/ -name "*"
    ./pinetree_clone/
    ./pinetree_clone/son_clone
    ./pinetree_clone/son_clone1
    ./pinetree_clone/son_clone2
    ./pinetree_clone/son_clone3
    ./pinetree_clone/son_clone4
    ./pinetree_clone/son_clone5
    ./pinetree_clone/son_clone6
    ./pinetree_clone/son_clone7
    ./pinetree_clone/son_clone8
    ./pinetree_clone/son_clone9
    ./pinetree_clone/son_clone10
    ./pinetree_clone/son_clone_add.sh

    -> /tmp/pinetree 디렉토리 경로에서 pinetree_clone의 디렉토리를 exclude 해주기 위해서 find로 필터링을 합니다. 

    [root@test_svr1:/tmp/pinetree]# find ./pinetree_clone/ -name "*" >> excludelist.txt
    [root@test_svr1:/tmp/pinetree]# cat excludelist.txt
    ./pinetree_clone/
    ./pinetree_clone/son_clone
    ./pinetree_clone/son_clone1
    ./pinetree_clone/son_clone10
    ./pinetree_clone/son_clone2
    ./pinetree_clone/son_clone3
    ./pinetree_clone/son_clone4
    ./pinetree_clone/son_clone5
    ./pinetree_clone/son_clone6
    ./pinetree_clone/son_clone7
    ./pinetree_clone/son_clone8
    ./pinetree_clone/son_clone9
    ./pinetree_clone/son_clone_add.sh

    -> 위와 같이 vi 편집기에 출력이 되는 모습을 볼 수 있습니다.

    [root@test_svr1:/tmp/pinetree]#vi excludelist.txt
    ./pinetree_clone/

    -> son_clone1~10 외의 파일들을 tar로 묶기 위해서./pinetree_clone/을 제외하고 편집기에서 삭제해주고 저장합니다.

    [root@test_svr1:/home]#mkdir hometar

    -> /home 디렉토리 밑에 hometar라는 디렉토리를 만들어 압축을 한 후 풀기 위해서 만들어 줍니다.

    [root@test_svr1:/tmp/pinetree]# tar -cvf /home/hometar/backup.tar -X excludelist.txt .
    a .
    a ./excludelist.txt 1 blocks.
    a ./pinetree_clone (excluded)
    a ./son 1 blocks.
    a ./son1 1 blocks.
    a ./son10 1 blocks.
    a ./son11 1 blocks.
    a ./son12 1 blocks.
    a ./son13 1 blocks.
    a ./son14 1 blocks.
    a ./son15 1 blocks.
    a ./son16 1 blocks.
    a ./son17 1 blocks.
    a ./son18 1 blocks.
    a ./son19 1 blocks.
    a ./son2 1 blocks.
    a ./son20 1 blocks.
    a ./son3 1 blocks.
    a ./son4 1 blocks.
    a ./son5 1 blocks.
    a ./son6 1 blocks.
    a ./son7 1 blocks.
    a ./son8 1 blocks.
    a ./son9 1 blocks.
    a ./son_add.sh 1 blocks.

    -> excludelist.txt의 파일을 참조하여 son1~20까지의 파일들만 압축될 수 있게 필터링이 된 것을 확인하였습니다.

    [root@test_svr1:/home/hometar]# pwd
    /home/hometar

    -> /hom/hometar의 경로로 갑니다.

    [root@test_svr1:/home/hometar]# ls -al
    total 72
    drwxr-xr-x 2 root system 256 May 11 16:48 .
    drwxr-xr-x 6 bin bin 4096 May 11 16:45 ..
    -rw-r--r-- 1 root system 30720 May 11 16:48 backup.tar

    -> 디렉토리안에 backup.tar라는 tar파일이 생성된 것을 확인할 수 있습니다.

    [root@test_svr1:/home/hometar]# tar -xvf backup.tar
    x .
    x ./excludelist.txt, 18 bytes, 1 media blocks.
    x ./son, 21 bytes, 1 media blocks.
    x ./son1, 21 bytes, 1 media blocks.
    x ./son10, 21 bytes, 1 media blocks.
    x ./son11, 21 bytes, 1 media blocks.
    x ./son12, 21 bytes, 1 media blocks.
    x ./son13, 21 bytes, 1 media blocks.
    x ./son14, 21 bytes, 1 media blocks.
    x ./son15, 21 bytes, 1 media blocks.
    x ./son16, 21 bytes, 1 media blocks.
    x ./son17, 21 bytes, 1 media blocks.
    x ./son18, 21 bytes, 1 media blocks.
    x ./son19, 21 bytes, 1 media blocks.
    x ./son2, 21 bytes, 1 media blocks.
    x ./son20, 21 bytes, 1 media blocks.
    x ./son3, 21 bytes, 1 media blocks.
    x ./son4, 21 bytes, 1 media blocks.
    x ./son5, 21 bytes, 1 media blocks.
    x ./son6, 21 bytes, 1 media blocks.
    x ./son7, 21 bytes, 1 media blocks.
    x ./son8, 21 bytes, 1 media blocks.
    x ./son9, 21 bytes, 1 media blocks.
    x ./son_add.sh, 75 bytes, 1 media blocks.

    -> 필터링하여 /tmp/pinetree의 압축한 내용들을  /home/hometar에 풀어줍니다.

    [root@test_svr1:/home/hometar]# ls -al
    total 264
    drwxr-xr-x 2 root system 4096 May 11 16:46 .
    drwxr-xr-x 6 bin bin 4096 May 11 16:45 ..
    -rw-r--r-- 1 root system 30720 May 11 16:48 backup.tar
    -rw-r--r-- 1 root system 18 May 11 16:47 excludelist.txt
    -rw-r--r-- 1 root system 21 May 11 13:46 son
    -rw-r--r-- 1 root system 21 May 11 13:46 son1
    -rw-r--r-- 1 root system 21 May 11 13:46 son10
    -rw-r--r-- 1 root system 21 May 11 13:46 son11
    -rw-r--r-- 1 root system 21 May 11 13:46 son12
    -rw-r--r-- 1 root system 21 May 11 13:46 son13
    -rw-r--r-- 1 root system 21 May 11 13:46 son14
    -rw-r--r-- 1 root system 21 May 11 13:46 son15
    -rw-r--r-- 1 root system 21 May 11 13:46 son16
    -rw-r--r-- 1 root system 21 May 11 13:46 son17
    -rw-r--r-- 1 root system 21 May 11 13:46 son18
    -rw-r--r-- 1 root system 21 May 11 13:46 son19
    -rw-r--r-- 1 root system 21 May 11 13:46 son2
    -rw-r--r-- 1 root system 21 May 11 13:46 son20
    -rw-r--r-- 1 root system 21 May 11 13:46 son3
    -rw-r--r-- 1 root system 21 May 11 13:46 son4
    -rw-r--r-- 1 root system 21 May 11 13:46 son5
    -rw-r--r-- 1 root system 21 May 11 13:46 son6
    -rw-r--r-- 1 root system 21 May 11 13:46 son7
    -rw-r--r-- 1 root system 21 May 11 13:46 son8
    -rw-r--r-- 1 root system 21 May 11 13:46 son9
    -rw-r--r-- 1 root system 75 May 11 13:46 son_add.sh

    -> 위와 같이 하위 디렉터리를 제외하고 필요한 상위 디렉터리만을 압축하여 푼 모습입니다.

     

     

    PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.

    포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.

    반응형

    'System of Infra > Unix System' 카테고리의 다른 글

    IBM AIX JAVA version PATH설정  (0) 2020.05.25
    IBM AIX mklvcopy 부분미러링 작업  (0) 2020.05.12
    IBM AIX cplv 작업  (0) 2020.05.06
    IBM AIX VG,LV,FS command 생성  (0) 2020.05.06
    IBM AIX NTP 설정 작업하는 방법  (0) 2020.05.02

    댓글

Designed by Tistory.