tar 에서 --exclude-tag 옵션으로 제외할 폴더 설정하기 > 개발

본문 바로가기
사이트 내 전체검색

개발

tar 에서 --exclude-tag 옵션으로 제외할 폴더 설정하기

페이지 정보

profile_image
작성자 관리자 (61.♡.26.87)
댓글 0건 조회 3,840회 작성일 20-05-28 21:26

본문

tar 를 이용하여 백업 등을 할 때 제외할 폴더를 설정하는 방법은 여러가지가 있다.



1. 명령어에 exclude 옵션으로 직접 지정을 해 주는 방법


# tar jcvpf etc.tar.bz2 --exclude=/etc/selinux/* /etc

--exclude 옵션을 여러개 지정할 수도 있다.

ㅇ 여기서 주의할 점은,
tar 버전이 높아지면서, 옵션에 순서가 생긴 듯 하다. CentOS 8 에 포함된 1.3x 버전 이상으로 추정.
아래와 같이 exclude 를 뒤로 보내면, 해당 폴더가 제외되지 않는다.

# tar jcvpf etc.tar.bz2 /etc --exclude=/etc/selinux/*

* 참고
https://stackoverflow.com/questions/984204/shell-command-to-tar-directory-excluding-certain-files-folders



2. TAG 파일을 이용하는 방법


제외할 폴더가 많을 경우, 위의 명령행에 옵션을 주는 방법은 명령행이 길어질 수가 있다.
이럴 경우, 특정 파일명을 가진 파일이 있는 폴더는 모두 제외하는 방법이 있다.
아래와 같이 하면, CACHEDIR.TAG 파일이 들어있는 폴더는 모두 제외한다.

# tar jcvpf etc.tar.bz2 --exclude-tag=CACHEDIR.TAG /etc

원래는 --exclude-caches 옵션으로 캐시폴더를 제외하는 방법인데,
이 경우는 CACHEDIR.TAG 파일안에 special signature 가 포함되어 있어야 한다.
그래서, 빈 파일도 해당 폴더를 제외할수 있게 --exclude-tag 로 지정해 버렸다.


ㅇ 특정 파일이 있는 폴더는 제외하는 방법에는 아래 3가지가 있다.

`--exclude-tag = 파일 '
디렉토리의 내용을 덤프하지 말고 디렉토리 자체와 파일을 덤프 하십시오 .

`--exclude-tag-under = 파일 '
디렉토리의 내용이나 파일을 덤프하지 말고 디렉토리 자체 만 아카이브하십시오.

`--exclude-tag-all = 파일 '
파일 파일을 포함하는 디렉토리를 완전히 생략 하십시오.


ㅇ /etc 에서 폴더 크기가 크고 백업의 필요성이 없어서 제외하는 폴더들은 아래와 같은 것들이 있다.
/etc/selinux
/etc/udev
/etc/insights-client
/etc/pki


* 참고
https://www.gnu.org/software/tar/manual/html_node/exclude.html
https://unix.stackexchange.com/questions/444782/gnu-tar-with-exclude-cache-fails-to-exclude-directories-containing-a-cachedir/444783

추천0

댓글목록

등록된 댓글이 없습니다.

Total 386건 7 페이지
  • RSS

검색


사이트 정보

Copyright © Baragi.Net. All rights reserved.