Estoy tratando de sincronizar archivos de un servidor a otro pero obtengo este error
rsync: error al establecer tiempos en "/ dept / intranet / dept / atest /.": Operación no permitida (1)
¿Alguien puede ayudarme por qué?
Supongo que es un problema de permisos.
Este es mi comando:
RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
REMOTE_HOST=test.desktop
${RSYNC} -crlt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}
LOCAL_DIR = workplace1/f1/
permissions drwxr-xr-x 11 root root 4096 Mar 19 2009 f1
REMOTE_DIR=/dept/intranet/dept/atest/f1/
permissions :drwxr-xr-x 14 dbld a1 4096 Mar 19 2009 f1
Respuestas:
Solo para que estemos en la misma página:
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:
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
ssh -vv test.desktop "touch /dept/intranet/dept/atest/f1/test"
)ssh -vv [email protected] "touch /dept/intranet/dept/atest/f1/test"
)Ninguna de las anteriores
Ejecute su comando con la
-v
opción, para verbose.fuente
--omit-dir-times
consejo. Realmente ayuda.Agregue -O ( --omit-dir-times ) a su línea de comando para evitar que intente establecer tiempos de modificación en los directorios.
Lea también esto: /programming/667992/rsync-error-failed-to-set-times-on-foo-txt-operation-not-permitted
fuente
En mi caso, he resuelto el problema otorgando permisos en el directorio principal donde se realizó la sincronización.
En realidad, el propietario del directorio principal no era el usuario que hacía la sincronización.
fuente