Estoy tratando de copiar el contenido de una serie de directorios de forma no recursiva a otro sistema remoto.
/dirA/dir1/file
/dirA/dir2/file
/dirA/dir3/file
dir1, dir2 y dir3 contienen muchos directorios que no quiero copiar. Copie en el host remoto a / dirB manteniendo la misma estructura de directorios.
Lo intenté:
rsync /dirA/*/ host:/dirB/
rsync /dirA/ host:/dirB/
Pero no hacen lo que quiero.

-f '- /*/'para restringir solo a archivos de nivel superior. También tuve que especificar-f '- .*'para excluir archivos de puntos, ya que estaba sincronizando un directorio de inicio.La solución anterior (por PleaseStand) no funcionó para mí por alguna razón. Sin embargo, esto funcionó:
rsync -avc --no-r ./source/* ./destination/También hay esta alternativa:
rsync -avc --exclude "/" ./source/ ./destination/fuente
Una de las "características" de rsync es cómo se analizan los directorios.
rsync /dirA/ host:/dirB/yrsync /dirA host:/dirBdebería ser teóricamente equivalente.Como no quieres alentar la recursividad, debes evitar
-r, lo-aque además de otras cosas implica-r.Todavía no he terminado con la investigación, pero esta es mi respuesta inicial.
fuente