rsync múltiples archivos con dos puntos en sus nombres

rsync múltiples archivos con dos puntos en sus nombres

rsyncinterpreta los dos puntos en los nombres de archivos como indicadores de que el precedente es el nombre de una máquina remota. Cuando intenta sincronizar un archivo que tiene dos puntos en su nombre, rsync normalmente se confunde y produce errores 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]

o

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 mi caso de uso es un montón de archivos con fechas en sus nombres)

¿Cómo puedo usar rsync para enviar archivos de forma selectiva usando comodines? Algo como:

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

Respuesta1

Hazlo desde el directorio principal:

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

y funciona (al menos en ubuntu 12.04 con el protocolo rsync 3.09 versión 30).

¿La razón? algo que ver con la lógica que usa rsync para reconocer hosts. Las barras diagonales precedidas de palabras no parecen considerarse hosts. Curiosamente, cuando usé find, para que todos los nombres tuvieran "./" antepuesto, todavía no funcionó.

Hay algunas discusiones sobre este tipo de tema,por ejemplo esto, pero no hablan sobre el uso de comodines y cosas por el estilo. Sin embargo, me inspiraron a probar lo que al final funcionó.

información relacionada