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」失敗:沒有這樣的檔案或目錄

如何讓 rsync 理解/cygdrive/d/path/to/來源路徑的一部分是“根”,並且只有它的子資料夾/檔案才應該複製到目標根以在目標處提供新路徑?

答案1

命令列上指定的位元似乎是「來源根」部分,檔案中的行是「相對」部分。

因此我需要刪除/cygdrive/d/path/to/文件中的所有行,只留下my/file1.png

然後,當使用問題中的命令列呼叫時,rsync 使用 組裝本機檔案路徑cmd_line_source + file_line,並將其複製到cmd_line_dest + file_line

相關內容