Estoy intentando rsync el directorio A de server1 con el directorio B de server2.
Sentado en el directorio A de server1, ejecuté los siguientes comandos.
rsync -av * server2::sharename/B
pero lo interesante es que sincroniza todos los archivos y directorios excepto .htaccess o cualquier archivo oculto en el directorio A. Cualquier archivo oculto dentro de los subdirectorios se sincroniza.
También probé el siguiente comando:
rsync -av --include=".htaccess" * server2::sharename/B
pero los resultados son los mismos.
Alguna idea de por qué los archivos ocultos del directorio A no se sincronizan y cómo solucionarlo. Me estoy ejecutando como usuario root.
Gracias

Respuestas:
Esto se debe al hecho de que, de
*forma predeterminada, se expande a todos los archivos del directorio de trabajo actual, excepto a los archivos cuyo nombre comienza con un punto. Así,rsyncnunca recibe estos archivos como argumentos.Puede pasar
.denotando directorio de trabajo actual arsync:De esta manera
rsync, buscará archivos para transferir en el directorio de trabajo actual en lugar de buscarlos en lo que*expande.Alternativamente, puede usar el siguiente comando para
*expandir a todos los archivos, incluidos aquellos que comienzan con un punto:shopt -s dotglobConsulte también la página de manual de shopt .
fuente
rsync -avz [email protected]:/remote/path/. /destination/pathhace el trabajoPara cualquier persona que acaba de tratar a los directorios de sincronización entre los servidores (incluyendo todos los archivos ocultos) - por ejemplo, la sincronización
somedirAen elsource-serverquesomedirBen un servidor de destino - probar esto :Tenga en cuenta las barras al final de ambos caminos. ¡Cualquier otra sintaxis puede conducir a resultados inesperados!
Además, para mí es más fácil ejecutar
rsynccomandos desde el servidor de destino, porque es más fácil asegurarse de que tengo el acceso de escritura adecuado (es decir, es posible que deba agregarsudoal comando anterior).Probablemente no hace falta decirlo, pero obviamente su usuario remoto también necesita acceso de lectura
somedirAen su servidor de origen. :)fuente
.htaccessarchivo?-e sshespecifica el método de conexión.Tuve el mismo problema.
Para mí, cuando hice el siguiente comando, los archivos ocultos no se rsync'ed
Pero cuando agregué las barras al final de las rutas, los archivos ocultos se sincronizaron.
Tenga en cuenta las barras al final de los caminos , ya que Brian Lacy dijo que las barras son la clave. No tengo la reputación de comentar sobre su publicación o lo habría hecho.
fuente
shopt -s dotgloba su script antes del rsyncCreo que el problema se debe a la expansión del comodín de shell. Utilizar . en lugar de estrella.
Considere el siguiente contenido de directorio de ejemplo
La expansión comodín del shell traduce la lista de argumentos que obtiene el programa rsync
dentro
antes de que el comando comience a ejecutarse.
fuente
El
*tell a rsynch a no sincronizar archivos ocultos. No debe omitirlo.fuente