rsync vários arquivos com dois-pontos em seus nomes

0

rsync interpreta dois pontos em nomes de arquivos como indicadores que precedem é um nome de máquina remota. Quando você tenta rsync um arquivo que tem dois pontos em seu nome, o rsync normalmente fica confuso, produzindo erros como

The source and destination cannot both be remote.
rsync error: syntax or usage error (code 1) at main.c(1166) [Receiver=3.0.9]

ou

Unexpected remote arg: 02\:12\:43.481000"
rsync error: syntax or usage error (code 1) at main.c(1232) [sender=3.0.9]

(observe que meu caso de uso é um monte de arquivos com datas em seus nomes)

Como posso usar o rsync para enviar seletivamente arquivos usando curingas. Algo como:

rsync -avz my_special_files* othermachine:/other/path/
    
por drevicko 22.05.2015 / 03:11

1 resposta

0

Faça isso no diretório pai:

rsync -avz parent_directory/my_special_files* othermachine:/other/path/

e funciona (pelo menos no Ubuntu 12.04 com a versão 30 do protocolo rsync 3.09).

O motivo? algo a ver com a lógica que o rsync usa para reconhecer hosts. As barras dianteiras precedidas por palavras parecem não ser consideradas como hosts. Estranhamente, quando eu usei find , para que os nomes tivessem todos "./" prefixados, ainda assim não funcionou.

Existem algumas discussões sobre esse tipo de problema, por exemplo, isso , mas eles não falam sobre o uso de curingas e afins. Eles, no entanto, me inspiraram a tentar o que funcionou no final.

    
por 22.05.2015 / 03:11

Tags