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

0

Eu tenho um arquivo assim:

/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"

Eu quero que o rsync faça a estrutura dos diretórios 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" failed: No such file or directory rsync: mkstmp "/cygdrive/c/new/path/for/cygdrive/d/path/to/my/file1.png.asdjfhsdj" failed: No such file or directory

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

    
por Caius Jard 21.06.2016 / 13:14

1 resposta

0

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

Por isso, precisei remover /cygdrive/d/path/to/ de todas as linhas do arquivo, deixando apenas my/file1.png

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

    
por 21.06.2016 / 13:33

Tags