반응형

* 환경 : Rocky Linux release 8.8 (Green Obsidian)

* 개요 : 디렉토리를 백업하는 경우 해당 디렉토리 내부에 있는 특정 디렉토리를 제외하고 tar.gz 압축을 하는데 에러가 발생함.

* 에러메시지 : 

tar: The following options were used after any non-optional arguments in archive create or update mode.  These options are positional and affect only arguments that follow them.  Please, rearrange them properly.
tar: --exclude `./test/result' has no effect
tar: 앞서 발생한 오류로 실패 코드를 반환하며 빠져나감

* 해결책 : 

예를 들어서

tmp/test
tmp/test/a.txt
tmp/test/result
tmp/test/result/b.txt

위와 같이 디렉토리와 파일이 있는데 test라는 디렉토리를 압축하고 result 라는 디렉토리를 제외하고 싶은 경우 아래와 같이 명령어를 구성한다.

tar -zcvf test.tar.gz --exclude="result" test/
tar -zcvf test.tar.gz --exclude="apple/result/" test/   // 제외하려는 디렉토리가 2depth 인 경우
tar -zcvf test.tar.gz --exclude="apple/result/" --exclude="apple/recruit/" test/   // 제외하려는 디렉토리가 2개인 경우

록키 리눅스의 경우 압축하려는 디렉토리 위치가 맨 뒤로 와야되고 --exclude 명령어에 절대 경로를 사용하지 말고 압축하려는 디렉토리 내부의 제외하려는 디렉토리 경로만 정확하게 적어주면 된다.

리눅스가 계속 버전이 바뀌다 보니 centos 기준의 글들의 정보가 정확하지 않은 경우가 많은 것 같다...

* 도움을 받은 곳 : https://www.nodinrogers.com/post/2022-01-15-excluding-files-from-a-tar-archive/

 

Excluding files from a tar archive

I was trying to make a backup, but exclude my working directory, which just has a lot of temp files in it. . . . easier said than done . . . The concept is …

www.nodinrogers.com

 

반응형

+ Recent posts