비슷한 하위 폴더 구조를 가진 디렉터리가 많이 있습니다. 각 디렉토리에는 하위 디렉토리 "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/