Rsync 제외 문제

Rsync 제외 문제

비슷한 하위 폴더 구조를 가진 엄청난 양의 디렉토리가 있습니다. 각 디렉토리에는 하위 디렉토리 "s"가 있습니다. 일부 디렉토리에는 이름에 "_tmp" 접두사가 있습니다.

내가 원하는 것은 모든 기본 디렉토리를 새 서버에 복사하고 s-subdirs 및 _tmp -dirst는 전송에서 제외하는 것입니다.

OSX(rsync v. 2.6.9)에서는 이 명령이 제대로 작동합니다.

rsync -avz --exclude */s/* --exclude *_tmp SOURCE/ DEST/

그러나 Ubuntu(rsync v. 3.0.7)에서는 동일한 명령이 실패하고 _tmps는 종료되었지만 s-폴더는 여전히 남아 있습니다. 해결 방법이 있습니까?

답변1

나는 echo당신이 무엇을 실행하고 있는지 확인하기 위해 명령 앞에 를 추가하도록 요청하고 싶습니다.

echo rsync -avz --exclude */s/* --exclude *_tmp SOURCE/ DEST/

쉘, 쉘 설정 및 현재 디렉토리의 내용에 따라 인용되지 않은 파일은 *_tmp특정 파일로 확장될 수 있습니다(제외하려는 대부분의 파일과 일치하지 않을 수 있음). echo실제로 무슨 일이 일어나고 있는지 보여줘야 합니다 .

쉘 확장을 방지하려면 별표를 따옴표로 보호해야 합니다.

rsync -avz --exclude '*/s/*' --exclude '*_tmp' SOURCE/ DEST/

관련 정보