rsync가 기본 디렉토리를 건너 뛰는 이유는 무엇입니까?


47

원격 배포 빌드 스크립트를 테스트하기 위해 rync를 로컬 서버 (Windows 시스템)에서 원격 서버 (내 osx 상자)로 사용하려고합니다. 두 개의 Linux 서버간에 rsync를 수행하기 전에 rsync를 수행했지만 지금 문제가 있습니다. 출력은 다음과 같습니다.

$ rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

skipping directory /Library/WebServer/sites/staging/app1/.

sent 8 bytes  received 13 bytes  3.82 bytes/sec
total size is 0  speedup is 0.00

$ 

또는

$ rsync -avz -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

receiving file list ... done
./

sent 26 bytes  received 68 bytes  17.09 bytes/sec
total size is 0  speedup is 0.00


$ 

원격 app1 디렉토리는 비어있는 반면 로컬 내보내기 디렉토리에는 4 개의 하위 디렉토리가 있고 각 디렉토리에는 많은 파일이 있습니다.

답변:


64
rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

-r또는 과 같은 재귀 모드로 전환하는 옵션을 제공하지 않았습니다 -a.

원격 app1 디렉토리는 비어있는 반면 로컬 내보내기 디렉토리에는 4 개의 하위 디렉토리가 있고 각 디렉토리에는 많은 파일이 있습니다.

여기에 옵션이 있습니까? 명령은이어야합니다 rsync [source] [DESTINATION]. app1 디렉토리가 비어 있고 빈 디렉토리를 복사하려는 경우 유용한 작업을 수행하지 않습니다.

아마도 당신은 대신 이와 같은 것이 필요합니까?

rsync -avz ./export/  myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ 

또한:

  • 거의 항상 rsync가있는 디렉토리에 슬래시를 포함해야합니다.
  • 지난 5-10 년 동안 릴리스 된 거의 모든 버전의 rsync에는 기본적으로 ssh를 사용하는 원격 전송 기능이 있습니다. 을 지정하지 않아도됩니다 -e ssh.

2
와우 .. 정말 창피하다. 네, 소스와 대상을 섞었습니다 ...
chrisan

1
"rsync가있는 디렉토리에는 항상 슬래시를 포함해야합니다."+1
고양이 고양이 Walrus

Mac에서는 -r 플래그를 사용하는 것 같지만 Linux에서는 항상 -R ( "capital R")을 사용합니다
Adam F

@Zoredache 왜 거의?
Nikhil

3

명령에 다음 옵션을 추가하여 로그 파일을 출력하는 rsync의 기본 제공 기능을 사용하려고합니다.

--log-file=/path/to/log.file

-v예를 들어 -avvz, 'Two -v 옵션은 건너 뛴 파일에 대한 정보와 끝에 약간 의 정보가 추가됩니다'라는 추가 옵션 을 추가하여 자세한 정보를 표시 할 수도 있습니다.

이 정보가 문제를 식별하는 데 도움이되지 않으면 질문을 편집하고 추가 출력을 추가하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.