rsync no entiende cuál es la parte relativa en --files-from=FILE

rsync no entiende cuál es la parte relativa en --files-from=FILE

Tengo un archivo que se parece a este:

/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

Estoy llamando a rsync con:

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

Quiero que rsync haga una estructura de directorio como:

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

Pero falla con errores como:

rsync: change_dir "/cygdrive/c/new/path/for/cygdrive/d/path/to/my" falló: no existe tal archivo o directorio rsync: mkstmp "/cygdrive/c/new/path/for/cygdrive/d /ruta/a/mi/archivo1.png.asdjfhsdj" falló: no existe tal archivo o directorio

¿Cómo hago para que rsync comprenda que /cygdrive/d/path/to/la parte de la ruta de origen es la "raíz" y que solo las subcarpetas/archivos deben replicarse en la raíz de destino para proporcionar una nueva ruta en el destino?

Respuesta1

Parece que el bit especificado en la línea de comando es la parte "raíz de origen" y la línea del archivo es la parte "relativa".

Por lo tanto, necesitaba eliminar /cygdrive/d/path/to/todas las líneas del archivo dejando solomy/file1.png

Luego, cuando se le llamó con la línea de comando de la pregunta, rsync reunió la ruta del archivo local usando cmd_line_source + file_liney la copió encmd_line_dest + file_line

información relacionada