rsync não está entendendo qual é a parte relativa em --files-from=FILE

rsync não está entendendo qual é a parte relativa em --files-from=FILE

Eu tenho um arquivo parecido com 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

Estou chamando o rsync com:

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

Quero que o rsync crie uma estrutura dir como:

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

Mas está falhando com erros como:

rsync: change_dir "/cygdrive/c/new/path/for/cygdrive/d/path/to/my" falhou: arquivo ou diretório inexistente rsync: mkstmp "/cygdrive/c/new/path/for/cygdrive/d /caminho/para/meu/arquivo1.png.asdjfhsdj" falhou: arquivo ou diretório inexistente

Como faço para o rsync entender que /cygdrive/d/path/to/é a parte do caminho de origem que é a "raiz" e que apenas subpastas/arquivos dele devem ser replicados para a raiz de destino para fornecer um novo caminho no destino?

Responder1

Parece que o bit especificado na linha de comando é a parte "raiz de origem" e a linha do arquivo é a parte "relativa".

Portanto, precisei retirar /cygdrive/d/path/to/todas as linhas do arquivo, deixando apenasmy/file1.png

Então, quando chamado com a linha de comando da pergunta, o rsync montou o caminho do arquivo local usando cmd_line_source + file_linee copiou-o paracmd_line_dest + file_line

informação relacionada