rsync vários arquivos com dois pontos em seus nomes

rsync vários arquivos com dois pontos em seus nomes

rsyncinterpreta dois pontos em nomes de arquivos como indicadores de que o anterior é um nome de máquina remota. Quando você tenta sincronizar novamente um arquivo que possui 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 arquivos seletivamente usando curingas. Algo como:

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

Responder1

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 protocolo rsync 3.09 versão 30).

A razão? algo a ver com a lógica que o rsync usa para reconhecer hosts. Barras precedidas de palavras parecem não ser consideradas hosts. Estranhamente, quando usei find, para que todos os nomes tivessem "./" anexados, ainda não funcionou.

Há algumas discussões por aí sobre esse tipo de questão,por exemplo isso, mas eles não falam sobre o uso de curingas e coisas do gênero. Eles, no entanto, me inspiraram a tentar o que funcionou no final.

informação relacionada