rsync: dos puntos en los nombres de archivo

23

Aparte de renombrar los archivos primero, ¿cómo puedo rsyncarchivos que pueden tener dos puntos en sus nombres?

象 嘉 道
fuente
Asegúrese de estar utilizando dir/y no dir/*en argumentos rsync.
Grawity
El problema ocurre cuando sincronizo desde un disco duro a un dispositivo de memoria flash:rsync: mkstemp "/media/verd/rence/.Using an expressive work: fact or fiction.pdf.RbjlKK" failed: Invalid argument (22) rsync: mkstemp "/media/verd/rence/.What's in a concept: structural foundations for semantic networks.pdf.tLXoZz" failed: Invalid argument (22)
象 嘉 道
Para futuros lectores, tenga en cuenta también que esto depende del sistema de archivos: los discos duros típicos de Windows con NTFS no pueden contener archivos :en primer lugar
phil294

Respuestas:

22

Los dos puntos solo son especiales en el primer componente del directorio de un argumento de línea de comando. Entonces, si tiene lo que parece un camino relativo, anteponga ./.

$ mkdir sou:rce
$ rsync -a sou:rce/ de:st/
The source and destination cannot both be remote.
$ rsync -av ./sou:rce/ ./de:st/
sending incremental file list
created directory ./de:st
./

En un guion:

case $source in
  /*) :;;
  *) source=./$source;;
esac
case $dest in
  /*) :;;
  *) dest=./$dest;;
esac
rsync "$source" "$dest"
Gilles 'SO- deja de ser malvado'
fuente
Gracias Guilles. El problema ocurre cuando sincronizo desde un disco duro a un dispositivo de memoria flash:rsync: mkstemp "/media/verd/rence/.Using an expressive work: fact or fiction.pdf.RbjlKK" failed: Invalid argument (22) rsync: mkstemp "/media/verd/rence/.What's in a concept: structural foundations for semantic networks.pdf.tLXoZz" failed: Invalid argument (22)
象 嘉 道
3
@Kejia 柯嘉: Ah, está bien, su problema es cambiar el nombre y rsync, no pasar los dos puntos a rsync. Esta pregunta surgió antes en el sitio de Ubuntu: ¿Cómo puedo sustituir los dos puntos cuando rsync en una llave USB? Lamentablemente, nadie ha producido una respuesta satisfactoria.
Gilles 'SO- deja de ser malvado'