Kylix Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
카일릭스 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
자유게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

카일릭스 자유게시판
[11] tar를 이용한 백업
이갑연.에릭 [neoic] 2869 읽음    2002-06-08 11:41
tar를 통해 우리는 파일을 백업할 수 있고 복원할 수 있다. tar와 cron을
연동해서 잘만 사용하면 비싼 백업유틸리티를 사지 않아도 훌륭한
백업작업을 할 수 있다.

우선 tar 명령어를 사용하는 법 부터 배워 보자.


O tar 옵션 정리


사용법: tar 옵션 파일1 [파일2 파일3 ...] 디렉토리1 [디렉토리2
디렉토리3 ...]

-c 디렉토리를 포함하여 여러개의 파일들을 묶을 때 사용한다(Create).

-x 디렉토리를 포함하여 묶인 파일의 압축을 풀겠다는 것을 tar에게
알린다(eXtract).
-t tar 파일안에 있는 파일이나 디렉토리 목록을 볼 때 사용하는
옵션이다(lisT).
-f <파일명>
파일을 묶을 때는 출력 파일, 파일의 압축을 풀때는 입력 파일을 이
옵션 뒤에 써 준다(File). <파일명>에는 /dev 디렉토리 밑의
장치명이 올 수도 있다. 이 때는 그 장치명에 해당하는 장치를
출력으로 하거나 입력으로 한다.
-v 작업 진행 상황을 화면에 표시한다(Verbose).
-C <디렉토리>
tar 동작을 개시하기 전에 명시한 <디렉토리>로 디렉토리를 바꾼 후
작업한다. 기본적으로 현재 디렉토리를 대상으로 작업하지만 다른
디렉토리에 압축을 풀 때 유용한 옵션이다.
-M -f 옵션 뒤에 미디어 장치명(플로피나 DAT같은)이 올 때 멀티 볼륨
백업을 하거나 복원할 때 사용한다(Multi-volume). 파일이
많아서 한장의 미디어로 모든 파일을 백업이나 복원할 수 없을
때 사용한다.
-G 이 옵션은 부분 백업(incremental backup)할 때 사용한다.
부분 백업은 어떤 기준을 정하고 그 기준과 다른 파일들만
부분적으로 백업하는 것을 말한다.
-V <볼륨명>
볼륨명을 정한다. 현재 백업되어 묶인 파일에 특별한 이름을
부여하는 것이다.
-N <날짜>
지정된 날짜 이후에 만들어진 파일이나 디렉토리를 대상으로
한다(Newer).


O 파일을 묶어 보자.


다음 처럼 하면 파일을 묶을 수 있다.

$ tar -c -v -f ex1.tar file1 file2 dir1/ dir2/

위의 예는 file1, file2 두개의 파일과 dir1과 dir2 두개의 디렉토리를
위디렉토리를 포함하여 한개의 파일인 ex1.tar(`-f ex1.tar')로 묶어
주라(`-c')는 것이다. 진행상황(`-v')도 화면에 표시한다.

뒤에 오는 file1, file2, dir1, dir2에는 얼마든지 묶고자 하는
파일이나
디렉토리 목록이 올 수 있으며, 그 순서는 상관없다.

다음처럼 하면

$ tar -c -v -f ex2.tar file3 file4 /home/sylee/dir3
/home/sylee/dir4

/home/sylee/dir3, /home/sylee/dir4 디렉토리를 묶는 것이지만 실제로
묶을 때는 제일 앞의 '/'을 제거한다. 즉 절대 경로명이 아니라 상대
경로명으로 묶게된다. 잠시 후에 알아 보겠지만 절대 경로가 아니라 상대
경로로 기록해 두게 되면 사용자가 풀고자 하는 디렉토리를 정할 수 있게
된다.

O 파일을 풀어 보자.


다음 처럼 하여 파일을 푼다.

$ tar -x -v -f ex1.tar

위의 예는 ex1.tar를 현재 디렉토리에 푼다. 현재 디렉토리에 file1,
file2 두개의 파일과 dir1, dir2 두개의 파일이 생성될 것이다. 현재
디렉토리에 사용자가 쓰기 권한이 있어야 함은 물론이다.

다음 처럼 하면 어떻게 될까?

$ tar -x -v -f ex2.tar -C /home/sylee/tmp

이 경우에는 /home/sylee/tmp 라는 디렉토리에 file3 file4 두개의
파일이 풀리고 home/sylee/dir3(절대 경로로는
/home/sylee/tmp/home/sylee/dir3), home/sylee/dir4(절대 경로로는
/home/sylee/tmp/home/sylee/dir4)라는 두개의 디렉토리가 생성된다.

다음 처럼 하여 모든 파일을 뽑아 낼 것이 아니라 원하는 파일만 뽑을
수 있다.

$ tar -x -v -f ex2.tar -C / home/sylee/dir3

/home/sylee/dir3가 아니라 home/sylee/dir3 임을 유의하자. 먼저 / 로
디렉토리 를 옮긴 후 home/sylee/dir3 라는 디렉토리를 푼다. 유의할 것은
다음 처럼 사용 하면 안된다.

$ tar -x -v -f ex2.tar home/sylee/dir3 -C /


위에서 옵션을 분리해서 사용했다. 다음처럼 붙여 사용하여도 된다.

$ tar xvf ex2.tar -C / home/sylee/dir3

파일을 묶을 때도 마찬가지이다.


O 부분 백업


백업용 장비로 DAT같은 것도 많이 사용하고 있다. DAT는 리눅스에서는
/dev/st0로 인식된다.

DAT로 특정한 날짜 이후로 바뀐 파일을 백업하고 싶다면 다음처럼 한다.
 구 [urbane9]   2002-06-28 00:56 X
저는 보통 tar -cvzf htdoc.tar.gz htdoc 와 tar -xvzf htdoc.tar.gz요거 두개만 사용합니다.

+ -

관련 글 리스트
11 tar를 이용한 백업 이갑연.에릭 2869 2002/06/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.