SSH를 통한 Tar - 로컬 컴퓨터에서 한 줄 명령으로 제외를 추가하는 방법

SSH를 통한 Tar - 로컬 컴퓨터에서 한 줄 명령으로 제외를 추가하는 방법
ssh [email protected] tar cvpf - /root/1 > /home/user/arc.tar.gz

추가해야 함

--exclude=/root/1/2

시도했지만 작동하지 않습니다.

ssh [email protected] tar cvpf - /root/1 > /home/user/arc.tar.gz --exclude=/root/1/2

답변1

GNU는 tar무슨 일이 일어나고 있는지 정확하게 보고합니다. 당신이 사용하고 있기 때문에 --exclude이것이 당신이 사용하고 있는 버전이라고 가정할 수 있습니까? 그렇다면 다음 내용을 읽어보세요.

tar: The following options were used after non-option arguments.  These options are positional and affect only arguments that follow them.  Please, rearrange them properly.
tar: --exclude ‘/root/1/2’ has no effect
tar: Exiting with failure status due to previous errors

이 오류 메시지는 관련성이 높기 때문에 귀하의 질문에 표시되어야 합니다.

해결책은 매개변수를 올바르게 재배열하는 것입니다.

tar cvpf - --exclude=/root/1/2 /root/1 > /home/user/arc.tar.gz 

파일에 쓰고 있다는 것을 알았습니다. 즉, gzip으로 압축된 데이터가 포함되어 있지만 실제로는 그렇지 않습니다( tar압축된 출력 스트림을 생성하라고 지시하지 않았습니다).

file /home/user/arc.tar.gz
/home/user/arc.tar.gz: POSIX tar archive (GNU)

전체 수정 명령은 다음과 같습니다.

ssh [email protected] tar czvpf - --exclude=/root/1/2 /root/1 >/home/user/arc.tar.gz 

file /home/user/arc.tar.gz
/home/user/arc.tar.gz: gzip compressed data, from Unix, original size modulo 2^32 …123456…

관련 정보