rsync múltiples archivos con dos puntos en sus nombres


1

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

(tenga en cuenta que mi caso de uso es un montón de archivos con fechas en sus nombres)

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

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

Respuestas:


0

Hazlo desde el directorio padre:

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 rsync usa para reconocer hosts. Las barras diagonales precedidas por palabras parecen no ser consideradas hosts. Curiosamente, cuando lo usaba find, de modo que todos los nombres tenían "./" antepuesto, todavía no funcionaba.

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.