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 создал структуру dir следующим образом:

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

Связанный контент