2011-12-01 3 views
4

로컬 컴퓨터의 rsync 파일 foo.txt을 원격 컴퓨터에 /home/me/somedirectory/bar.txt으로 만들고 그 파일에 somedirectory/이 아직없는 것으로 가정합니다. 어떻게해야합니까?존재하지 않는 원격 디렉토리에 파일을 rsync하려면 어떻게합니까?

나는 rsync -e ssh -z foo.txt remotemachine:/home/me/somedirectory/bar.txt을 시도했지만 rsync: push_dir#3 "/home/me/somedirectory" failed: No such file or directory (2) 오류가 발생합니다.

(그것이 비록 즉,이 잘 실행, 작동 이름을 변경하지 않고 파일을 복사 :. rsync를 -e ssh를 -z foo.txt의 remotemachine :/홈/ME/놓자는 /`)

+0

나는 당신이 동일한 질문 [여기] 답변을 찾을 수 있다고 생각 (http://stackoverflow.com/questions/1636889/rsync-how-can-i-configure-it-to-create-target-directory-on- 섬기는 사람). – frarees

+0

'--recursive' 플래그를 추가하려고 시도했지만 같은 오류가 발생합니다. – grautur

답변

4

그냥 뒤에 넣어 너의 목표물을 비켜라. 이런 식으로 뭔가 :

에 rsync에 foo.txt의 remotemachine : 놓자/"/ 홈/날"원격 시스템에 홈 디렉토리가 있다고 가정

는 명령 줄에서 지정할 필요가 없다. 또한, rsync를 -e로 혼란스럽게 할 필요가 없다.

1

당신은 2 stepes에서 성공적으로이 과정을 수행 할 수 있습니다 -

1] rsync -e ssh -z foo.txt remotemachine:/home/me/somedirectory/ 이 목적지에 디렉토리 somedirectory을 foo.txt의를 복사하여 작성합니다.

다음

2] rsync -e ssh -z --delete-after foo.txt remotemachine:/home/me/somedirectory/bar.txt

여기 당신은 --delete-after 옵션을 사용하여 대상에 foo.txt의를 삭제할 수 있습니다. 맨 페이지에서 사용법을 볼 수 있습니다. 이 옵션은 -r 옵션과 함께 사용해야합니다. 이것은 용도에 맞습니다.

두 번째 명령이 작동하지 않으면 다음을 사용하십시오. - rsync -e ssh -z foo.txt remotemachine:/home/me/somedirectory/bar.txt 및 foo.txt를 수동으로 삭제하십시오.

관련 문제