2011-11-28 19 views
12

Lo que no pude averiguar es cómo sincronizar los archivos locales con el host remoto, dejando intactos los permisos de la carpeta remota para una carpeta particular/var/www/site1/home/images, que es 750, mientras que los permisos de la carpeta de origen son 770 Necesito esta carpeta apache-writeable localmente, pero no debe poder escribirse en el servidor de producción. Y necesito mantener los permisos de destino solo para esta carpeta, para todos los demás archivos y carpetas se deben actualizar las permanentes.rsync: cómo mantener los permisos de un directorio de destino seleccionado?

Hasta ahora estaba experimentando con --exclude, -filter pero no obtuve el efecto deseado.

rsync -av --delete /var/www/site1/ [email protected]:/var/www/site1/ 

Respuesta

11

Según la página man rsync: -a archive mode; same as -rlptgoD.

-p es preservar los permisos, por lo que este debe hacer lo que quiera: -vrltgoD

+0

Gracias! De todos modos, necesito actualizar las permanentes para todos los demás archivos y carpetas. –

+1

Entonces, probablemente solo lo haría con dos comandos, uno para la carpeta principal usando '-av' y excluyendo la carpeta de imágenes (' --exclude/home/images/') y luego para la carpeta de imágenes usar' - vrltgoD'. La opción '--dry-run' es tu amiga al resolver estas cosas. – steveax

Cuestiones relacionadas