Establecer permisos de forma forzada al ejecutar rsync

14

Actualmente estoy haciendo una copia de seguridad de gigabytes y gigabytes de datos de un servidor en vivo a un servidor de respaldo utilizando un script de combinación rsync / ssh, lo que permite la operación automatizada todas las noches con un trabajo cron.

El problema que tengo es con los permisos.

Ejecutar rsync con copias en modo -a sobre el usuario: group y filemode, que actualmente son 54122: juegos y -rwx - S ---.

Para poder ejecutar los archivos en el servidor de copia de seguridad (no me pregunte por qué el empleador requiere esto), tuve que ejecutar un chown costoso (debido a la gran cantidad de datos transferidos) () y chmod () configurando cada archivo / carpeta a www-data: www-data y permisos de 755.

¿Hay alguna forma de configurar rsync para configurar por la fuerza cada archivo / carpeta en www-data: www-data y 755 o estoy mirando este problema desde un ángulo incorrecto?

Supongo que podría ejecutar -rltD en lugar de -a (que es equivalente a -rlptgoD), pero ¿qué sucede con los archivos nuevos? ¿Qué permisos y propietario: configuración de grupo reciben?

bafromca
fuente

Respuestas:

22

Entre muchas otras opciones, rsync puede cambiar el permiso ejecutándolo con la opción:

rsync [options] --chmod=CHMOD source destination

donde también puede combinar la opción --archivecon la opción --no-ownero --no-permsexcluir la preservación del propietario resp. permisos Para obtener más opciones sobre configuraciones muy sutiles para CHMOD, consulte la página de manual de rsync .

Takkat
fuente
Tenga en cuenta que --permsse requiere la bandera para que el comando anterior funcione. Además, aunque no lo intenté, supongo que la --no-permsbandera no funcionará, lo más probable es que la desactive --chmod.
Laurent
66
Ejemplo:rsync --chmod=ugo=rX source/ destination/
Flimm
1

Si los permisos ya están configurados de esa manera en la máquina desde la que está copiando, puede intentar -p. Guarda los permisos. También es posible que desee probar grsync. Es una interfaz gráfica de usuario para rsync que hace que algunas de las opciones sean más evidentes. También -o conserva al dueño.

Espero que ayude. Buena suerte.

Ctuchik
fuente