¿Cómo evitar que Rsync conozca los archivos transferidos?


72

Tengo una configuración de conexión sshfs con un sistema de archivos remoto en un servidor Linux. Estoy haciendo una Rsync desde mi servidor local al sistema de archivos ftpfs. Debido a la naturaleza de esta configuración, no puedo hacer chownnada en el sistema de archivos sshfs.

Cuando hago Rsync, trata de compartir todos los archivos después de transferirlos. Esto da como resultado errores de chown, aunque transfiere los archivos muy bien.

Con Rsync, ¿hay alguna manera de decirle que no intente hacer una copia de seguridad de los archivos? Si sincronizo como 1000 archivos, termino con un registro de 1000 chown: permission denied (error 13)errores. Sé que no hace daño obtener estos errores, ya que la propiedad de los archivos está determinada por la configuración de sshfs. Pero sería bueno no tenerlos.

Respuestas:


107

Probablemente esté ejecutando rsync así:

rsync -a dir/ remote:/dir/

La -aopción según la documentación es equivalente a:-rlptgoD

      -a, --archive    archive mode; equals -rlptgoD (no -H,-A,-X)

Probablemente desee eliminar las opciones -oy -g:

      -o, --owner                 preserve owner (super-user only)
      -g, --group                 preserve group

Por lo tanto, su comando rsync debería verse así:

rsync -rlptD dir/ remote:/dir/

O como señala @glglgl :

rsync -a --no-o --no-g dir/ remote:/dir/

Las opciones restantes en uso son:

      -r, --recursive             recurse into directories
      -l, --links                 copy symlinks as symlinks
      -p, --perms                 preserve permissions
      -t, --times                 preserve modification times
      -D                          same as --devices --specials
          --devices               preserve device files (super-user only)
          --specials              preserve special files

19
... o simplemente-a --no-o --no-g
glglgl

1
Utilicé Just rsync -r --no-o --no-g /source/* /dest/y mi propietario y grupo de archivos en el destino todavía se cambiaron de acuerdo con la fuente. ¿Algunas ideas?
Ram Patra


5

No use la -aopción, ya que incluirá la -popción que mantiene los permisos. Para esta situación, -rdebería ser suficiente.

Para más información, ver man rsync.


44
¿Estás seguro de que -pes lo que quiero evitar? La propiedad es diferente a los permisos, ¿correcto?
Jake Wilson

0

Encontré algo similar por el cual rsyncno se conservaba el propietario y el grupo de archivos y directorios sincronizados desde un servidor remoto. Para corregir, he copiado lo largo de los /etc/shadow, /etc/groupy /etc/passwdarchivos.

Cuando ejecuté el rsynccomando a continuación, funcionó en que conservaba permisos, enlaces simbólicos y propiedad.

Había configurado claves ssh para usar ssh sin contraseña.

rsync -avpog user@10.1.x.x:/usr/local /usr
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.