Solo para que estemos en la misma página:
-r recursive
-l preserve links
-c sync based on file checksum
-t preserve modification times
Entonces dos cosas:
Es solo una cosa del sistema de archivos
Si la carpeta de destino es un montaje NFS, o algún sistema de archivos que no maneja bien los tiempos de modificación, entonces se rompe.
Intente agregar el parámetro -O
(for --omit-dir-times
) a su comando.
Los tiempos de modificación se conservarán, pero se omitirán para los directorios:
${RSYNC} -crlOt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}
Esta es mi mejor suposición, ya que la sincronización de archivos parece funcionar, y su error ocurre en la sincronización de mod time. De todos modos, ¿realmente necesita preservar los tiempos de modificación ? La -c
opción omitir archivos en función de la suma de comprobación (por lo que los tiempos de modificación no importan).
O es, en realidad, un problema de permiso
- ¿El usuario que ejecuta el script tiene suficientes privilegios para editar / escribir la carpeta de destino? (prueba
ssh -vv test.desktop "touch /dept/intranet/dept/atest/f1/test"
)
- hace el usuario que ejecuta la secuencia de comandos es "el más adecuado ™" (TRY
ssh -vv thegooduser@test.desktop "touch /dept/intranet/dept/atest/f1/test"
)
Ninguna de las anteriores
Ejecute su comando con la -v
opción, para verbose.