Articles

Conmutador Robocopy / MIR-permisos de archivos duplicados

Publicado por primera vez en TECHNET el 31 de julio de 2008
Algunos clientes señalaron lo que creen que es un error en Robocopy. La situación es la siguiente: supongamos que copia los archivos con Robocopy en Windows Server 2003 o XP. A continuación, los permisos de archivo o carpeta (ACLs) se cambian y se marchitan en el origen o el destino. Desea utilizar el interruptor / MIR para reflejar los permisos:
> Destino de origen de ROBOCOPY / MIR / SEC
Robocopy no puede reflejar los permisos de archivo, pero funciona para los permisos de carpeta.
Este comportamiento es por diseño. Robocopy se centra en copiar solo archivos que han cambiado (en tamaño o fecha de modificación, de forma predeterminada). Si un archivo parece que ha cambiado, Robocopy copia sus datos y, si también especificó copiar seguridad, copia la ACL NTFS del origen al destino después de copiar los datos. Si un archivo parece que NO ha cambiado, Robocopy lo omite de forma predeterminada y no copia nada para el archivo, ni siquiera su información de seguridad. Cuando escribí la parte de» copia de seguridad » de Robocopy el 22 de mayo de 1997, elegí hacer esto por razones de rendimiento, para mantener bajos los tiempos de Robocopy para árboles grandes. Esta fue una implementación adecuada para las necesidades de la mayoría de las personas en ese momento. Además, otra razón por la que elegí hacer las cosas de la manera en que lo hice, es que establecer la seguridad en los directorios es suficiente para la mayoría de la gente. Establecer la seguridad archivo por archivo es un enfoque más detallado, sin duda, pero conlleva una sobrecarga de mantenimiento mayor, tal vez demasiado para muchos usuarios.
Por lo tanto, la solución listada como solución alternativa publicada por Martin Zugec (MVP) es precisamente lo que se debe hacer en esta situación, y se espera este comportamiento:
> ROBOCOPY /Mir <Source><Target>
> ROBOCOPY /E /Copy:S /IS /IT <Source><Target>
El primer comando de Robocopy anterior copiará los datos y la seguridad de los archivos que se han actualizado, y el segundo comando de Robocopy se actualizará seguridad de archivos para todos los archivos, sin copiar ningún dato de archivo.
Si utiliza una versión de Kit de recursos de Robocopy y desea mantener la seguridad sincronizada entre dos árboles donde los datos son bastante estáticos, pero la seguridad se actualiza de vez en cuando. De hecho, la sección» Copiar información de seguridad NTFS » de Robocopy.doc (de los Kits de recursos) dice:
«Para actualizar la información de seguridad de los archivos y directorios de destino existentes sin copiar datos de archivo, utilice el conmutador /IS junto con el conmutador /COPY sin la bandera D. Por ejemplo /IS /COPY:SOU actualizaría toda la información de seguridad de todos los archivos seleccionados, sin copiar ningún dato de archivo.»
Las cosas se han movido un poco en los últimos 11 años, en cuanto a la seguridad, así que cambié ligeramente la forma en que funcionan las cosas en esta área para la versión de Robocopy que terminó en Vista, ya que si especifica /SECFIX en la línea de comandos, Robocopy copiará la seguridad de los archivos omitidos que existen tanto en el árbol de origen como en el de destino.
Por lo tanto, para mantener dos árboles sincronizados, incluida su seguridad, con Robocopy de Vista, puede usar lo siguiente como su comando Robocopy habitual:
> ROBOCOPY <source><target> /MIR /SEC /SECFIX
/MIR replicará los datos y la seguridad (como se especifica /SEC) para los archivos modificados, y /SECFIX actualizará solo la seguridad para los archivos sin cambios. Agregue /V a la línea de comandos si desea ver qué archivos tienen su seguridad «fija» sin que se copien sus datos.

Kevin Allen