rsync가 --files-from=FILE의 상대 부분이 무엇인지 이해하지 못합니다.

rsync가 --files-from=FILE의 상대 부분이 무엇인지 이해하지 못합니다.

다음과 같은 파일이 있습니다.

/cygdrive/d/path/to/my/file1.png
/cygdrive/d/path/to/my/file2.png
/cygdrive/d/path/to/my/file3.png
/cygdrive/d/path/to/my/file4.png

다음을 사용하여 rsync를 호출합니다.

rsync --files-from="/cygdrive/d/myfiles.txt" "/cygdrive/d/path/to/" "user@remotehost:/cygdrive/c/new/path/for"

rsync가 다음과 같은 디렉토리 구조를 만들기를 원합니다.

c:\new\path\for\my\file1.png
...

하지만 다음과 같은 오류로 인해 실패합니다.

rsync:change_dir "/cygdrive/c/new/path/for/cygdrive/d/path/to/my" 실패: 해당 파일 또는 디렉터리 없음 rsync: mkstmp "/cygdrive/c/new/path/for/cygdrive/d /path/to/my/file1.png.asdjfhsdj" 실패: 해당 파일이나 디렉터리가 없습니다.

/cygdrive/d/path/to/rsync가 "루트"인 소스 경로의 일부이고 해당 하위 폴더/파일만 대상 루트에 복제되어 대상에 새 경로를 제공해야 함 을 이해하게 하려면 어떻게 해야 합니까 ?

답변1

명령줄에 지정된 비트는 "소스 루트" 부분이고 파일의 줄은 "상대" 부분인 것 같습니다.

/cygdrive/d/path/to/따라서 파일의 모든 줄을 제거 해야 했습니다 .my/file1.png

그런 다음 질문에서 명령줄을 사용하여 호출하면 rsync는 를 사용하여 로컬 파일 경로를 어셈블 cmd_line_source + file_line하고 다음 위치에 복사했습니다.cmd_line_dest + file_line

관련 정보