rsync를 사용하여 여러 디렉터리의 파일을 하나로 복사

rsync를 사용하여 여러 디렉터리의 파일을 하나로 복사

다양한 하위 디렉터리의 파일을 디렉터리로 복사하는 것이 가능합니까? 예를 들어 다음과 같은 구조가 있습니다.

+ dir1
  + file1.ext
  + file2.ext
+ dir2
  + file3.ext
  + file4.ext
  + subdir
     +dontwanttocopy.ext

현재 다음 명령을 사용하고 있습니다

find "//mysourcepathdirectory/" -maxdepth 2 -type f -name "*.ext" -exec rsync -vr -e ssh {} user@server:/mypath/videos/ \;

물론 이 명령을 사용하면 서버에 반복적으로 로그인하게 됩니다. 한 번만 로그인하면 되는 명령을 원합니다. 고통을 피하기 위해 SSH 키를 사용하고 있지만 이것이 올바른 접근 방식이 아니라는 것을 알 수 있습니다. 시간이 지남에 따라 몇 개의 파일만 변경되기 때문에 rsync를 사용하고 싶습니다. 또한 기본 경로(예: 위 예의 subdir) 아래 하위 디렉터리에 파일을 복사하는 것을 방지하고 싶습니다.

답변1

rsync예, (재귀 복사) 옵션이 포함된 명령이 있습니다 .-r

rsync -r /path/in/source/dir*/*.ext /path/to/destination

--exclude옵션을 사용하여 하위 디렉터리와 디렉터리 구조를 제외 할 수도 있습니다 .

rsync -rv --exclude='*/' /path/in/source/dir*/ /path/to/destination/

또는 하위 디렉터리를 사용하세요.

rsync -rv --exclude='*/*' /path/in/source/dir*/ /path/to/destination/

scp다음 명령을 사용할 수도 있습니다.

scp -r /path/in/source/dir*/*.ext /path/to/destination

관련 정보