Articulo de referencia

Robocopia

Robocopy es una utilidad de transferencia de archivos de línea de comandos para Windows . Es funcionalmente más completa que los comandos y , pero no reemplaza a ninguno. Creada...

Robocopy es una utilidad de transferencia de archivos de línea de comandos para Windows . Es funcionalmente más completa que los comandos y , pero no reemplaza a ninguno. Creada por Kevin Allen [ 1 ] y lanzada por primera vez como parte del Kit de recursos de Windows NT 4.0 , ha sido una característica estándar de Windows desde Windows Vista y Windows Server 2008 .COPYXCOPY

Características

Robocopy proporciona funciones que no están en los comandos COPYy XCOPY, incluyendo:

  • Recuperación tras una pérdida temporal de conectividad de red; los archivos incompletos están marcados con la fecha 1970-01-01 y contienen un registro de recuperación para que Robocopy sepa desde dónde continuar.
  • Detectar y omitir los puntos de unión NTFS , que, en determinadas circunstancias, pueden provocar fallos de copia debido a bucles infinitos (con el /XJinterruptor).
  • Conservar cualquier combinación de los siguientes elementos: contenido del archivo, atributos, metadatos (por ejemplo, marcas de tiempo originales) y ACL de NTFS (DACL, SACL y propietario).
    • Por ejemplo, copiar listas de control de acceso (ACL) de un archivo a otro; antes de la versión XP026, esta capacidad estaba limitada solo a archivos, no a carpetas.
  • Utilizar el privilegio "Copia de seguridad de archivos y directorios" de Windows NTSeBackupPrivilege ( normalmente no disponible para cuentas de usuario estándar) para eludir las ACL de NTFS que de otro modo impedirían la transferencia (requiere el /Binterruptor) [ 2 ] [ 3 ]
  • Persistencia por defecto, con un número programable de reintentos automáticos si no se puede copiar un archivo.
  • El modo espejo, que mantiene sincronizados dos árboles de directorios, elimina también los archivos del destino que no están presentes en el origen.
  • Se omiten los archivos que ya se encuentran en la carpeta de destino con el mismo tamaño y marca de tiempo.
  • Indicador de progreso
  • Soporte para rutas que superan los 259 caracteres, hasta un límite teórico de aproximadamente 32.000 caracteres [ 4 ].
  • Código de resultado que indica éxito o fracaso; utilizado en automatización [ 5 ]
  • Copia multihilo (introducida con Windows 7 y Windows Server 2008 R2 ) [ 6 ]
  • Compatibilidad con la compresión de bloques de mensajes del servidor (SMB) (introducida con Windows 10 y Windows Server 2019 )
    • Si /compressse especifica, el equipo de destino admite la compresión SMB y los archivos que se copian son compresibles, la operación disfruta de mejoras de rendimiento significativas [ 7 ] [ 8 ].

Usar

La sintaxis de Robocopy es notablemente diferente de sus predecesores, copy y xcopy , ya que solo acepta nombres de carpeta, sin barra invertida final, como argumentos de origen y destino. Los nombres de archivo y los caracteres comodín (como *y ?) no son válidos como argumentos de origen o destino. Los archivos se pueden seleccionar o excluir usando el argumento de filtrado de archivos opcional (que admite comodines) junto con varias otras opciones. [ 9 ] Los archivos nombrados se copian solo de la carpeta seleccionada para la copia. No se admiten nombres de ruta completos.

En Windows, la coincidencia de nombres de comandos no distingue entre mayúsculas y minúsculas; si se especifica más de una opción, deben separarse con espacios en blanco y, si el nombre de un directorio contiene un carácter especial, como un espacio en blanco, debe ir entre comillas dobles. [ 10 ]

Robocopy informa el nombre de cada directorio encontrado, en orden alfabético. Cada nombre va precedido por el número de archivos en el directorio que cumplen los criterios para ser copiados. Si el directorio aún no existe en el destino, se marca como "Nuevo directorio"; si el directorio está vacío y no se usa la opción /E, o no contiene archivos que cumplan los criterios, no se creará un nuevo directorio. Si no se usa la opción /NFL (sin nombres de archivo en el registro), los archivos que se están copiando se listarán después del nombre del directorio en el que se encuentran. Al final de la salida hay una tabla que indica el número de directorios, archivos y bytes. Para cada uno de estos, la tabla indica el número total encontrado en el origen, el número copiado (incluidos los directorios marcados como "Nuevo directorio" aunque no se copien), el número omitido (porque ya existen en el destino) y el número de discrepancias , FALLOS y extras . "Fallidos" puede significar que hubo un error de E/S que impidió que se copiara un archivo, o que se denegó el acceso. También hay una fila que indica el tiempo empleado (en la que el tiempo dedicado a los archivos fallidos parece estar en la columna incorrecta).

Limitación del ancho de banda

La opción de intervalo entre paquetes (IPG) permite cierto control sobre el ancho de banda de la red. En teoría, la siguiente fórmula expresa el retardo ( D , en milisegundos) necesario para simular un ancho de banda deseado ( BD , en kilobits por segundo ) en un enlace de red con un ancho de banda disponible de BA kbps :

D=BABDBA×BD×512×1000{\displaystyle D={B_{A}-B_{D} \over B_{A}\times B_{D}}\times 512\times 1000}

En la práctica, sin embargo, suele ser necesario experimentar para encontrar un retardo adecuado, debido a factores como la naturaleza y el volumen del resto del tráfico en la red. La metodología empleada por la opción IPG puede no ofrecer el mismo nivel de control que otras tecnologías de limitación de ancho de banda, como BITS (utilizada por Windows Update y BranchCache).

Limitaciones

No copia archivos abiertos

Un proceso puede bloquear un archivo para acceso de lectura exclusivo. [ 11 ] Normalmente, el servicio de instantáneas de volumen se utiliza para estas situaciones, pero Robocopy no lo utiliza. Por consiguiente, Robocopy no es adecuado para realizar copias de seguridad de un volumen activo. Sin embargo, se pueden utilizar previamente utilidades como ShadowSpawn [ 12 ] o DiskShadow [ 13 ] (incluidas en Windows Server 2008 ) para crear una instantánea de un volumen determinado, que Robocopy puede respaldar posteriormente.

Las versiones en sistemas anteriores a Windows Vista no se sincronizan correctamente.

Ignoran los atributos de seguridad modificados de los archivos previamente replicados. [ 14 ] [ 15 ]

Progreso multihilo

Al especificar la /MT[:n]opción para habilitar la copia multihilo, /NPse ignora la opción para deshabilitar la notificación del porcentaje de progreso de los archivos. Por defecto, el interruptor MT proporciona 8 hilos. n es el número de hilos que se especifican si no se desea utilizar el valor predeterminado. [ 16 ]

Copia de seguridad de la raíz

Un problema recurrente con Robocopy es que, si se realiza una copia de seguridad desde la carpeta raíz de una unidad (por ejemplo, robocopy d:\ b:\d-backup\ ....), los archivos de destino recibirán atributos que incluyen SH. Esto significa que serán invisibles para el acceso normal (incluido DIR en cmd.exe). Para solucionarlo, agregue /a-:SHa la línea de comandos de robocopy o ejecute un comando ATTRIB para eliminarlos posteriormente.

Ejemplos

El siguiente comando copia dos archivos de la carpeta c:\bara c:\baz:

> robocopy c:\bar c:\baz archivo1.txt archivo2.db 

Para copiar todos los archivos PDF de c:\bara c:\baz:

> robocopy c:\bar c:\baz *.pdf 

El siguiente código copia el contenido del directorio, Directory Aincluyendo Directory Bdatos de archivos, atributos y marcas de tiempo, de forma recursiva con directorios vacíos ( /E):

> robocopy "C:\Directorio A" "C:\Directorio B" /E 

Las siguientes copias de directorios de forma recursiva ( /E), copian información de archivos ( /COPYALL, equivalente a /COPY:DATSOU, D=Datos, A=Atributos, T=Marcas de tiempo, S=Seguridad= ACL NTFS , =Información del propietario, =Información de auditoría), no reintenta los archivos bloqueados ( ) (el número de reintentos en copias fallidas tiene un valor predeterminado de 1 millón), conserva las marcas de tiempo de los directorios originales ( - requiere la versión XP026 o posterior):OU/R:0/DCOPY:T

> robocopy C:\AC:\B /COPYALL /E /R:0 /DCOPY:T 

El siguiente proceso replica A en B, eliminando cualquier archivo en B que no esté presente en A ( /MIR). Copia en modo de reanudación ( /Z) en caso de que se pierda la conexión de red:

> robocopy C:\A \\backupserver\B /MIR /Z 

Interfaz gráfica de usuario

Aunque Robocopy es una herramienta de línea de comandos , Microsoft TechNet proporcionó una interfaz gráfica de usuario (GUI) llamada Robocopy GUI. Fue desarrollada por Derk Benisch, ingeniero de sistemas del grupo de búsqueda de MSN en Microsoft, y requería .NET Framework 2.0. [ 17 ] Incluía una copia de Robocopy versión XP026. Ya no está disponible en Microsoft, pero se puede descargar desde la Wayback Machine de Internet Archive . [ 18 ]

Versiones

Todas las versiones de Robocopy almacenan su número de versión y fecha de lanzamiento en el encabezado del archivo ejecutable, que se puede consultar con el Explorador de archivos o PowerShell . Algunas versiones informan su número de versión en la información de salida.

Véase también

Referencias

  1. "AMA con Dave Plummer, creador de Task Manager" . Reddit.com . 18 de diciembre de 2020. Consultado el 19 de diciembre de 2020 .
  2. "Robocopy.exe - Utilidad robusta para copiar archivos - Versión XP010" (PDF) . Microsoft . 2003. Las copias en modo de copia de seguridad [...] le permiten copiar algunos archivos como operador de copia de seguridad que no podría copiar como usuario normal.
  3. "Grupos predeterminados" . Microsoft. 6 de junio de 2011. Operadores de copia de seguridad [...] Los miembros de este grupo pueden realizar copias de seguridad y restaurar todos los archivos [...], independientemente de sus permisos individuales sobre esos archivos.
  4. Lewis, Dick (15 de noviembre de 2004). "Preguntas frecuentes sobre Robocopy XP010" . Windows IT Pro . Penton Media. pág. 2. Archivado del original el 9 de octubre de 2012. 
  5. Liang, Han; Zou, Lucy; Xu, Simonx (23 de febrero de 2023). "Códigos de retorno utilizados por la utilidad Robocopy en Windows Server 2008 o Windows Server 2008 R2" . Solución de problemas de Windows Server . Microsoft vía Microsoft Learn .
  6. Holliday, Grant (7 de diciembre de 2009). "Robocopy multihilo para copias más rápidas" . Blog de Grant Holliday . Microsoft . Archivado del original el 13 de agosto de 2018.
  7. Berkouwer, Sander (7 de septiembre de 2020). "RoboCopy admite la copia de archivos a través de SMB con compresión en Windows Server 2019 y versiones posteriores" . dirteam.com . Consultado el 14 de febrero de 2021 .
  8. Smith, Russell (27 de noviembre de 2020). "La compresión SMB reduce el ancho de banda y mejora los tiempos de copia en Windows Server y Azure" . Petri .
  9. "Robocopy" . Microsoft Docs . Microsoft . 31 de octubre de 2016. Consultado el 14 de enero de 2019 .
  10. "Robocopy" . Microsoft Technet . 7 de junio de 2020.
  11. "Función CreateFile" . Desarrollo de aplicaciones de Windows . Microsoft. 9 de febrero de 2023 vía Microsoft Learn . FILE_SHARE_READ [...] Permite que las operaciones de apertura posteriores en un archivo o dispositivo soliciten acceso de lectura. De lo contrario, otros procesos no podrán abrir el archivo o dispositivo si solicitan acceso de lectura.
  12. "ShadowSpawn" . Craig Andera . Consultado el 14 de julio de 2015. ShadowSpawn.exe es una herramienta de código abierto con licencia MIT que crea y administra copias de sombra.
  13. "Diskshadow" . Microsoft TechNet. 18 de abril de 2012. Consultado el 6 de marzo de 2013. DiskShadow.exe es una herramienta que expone la funcionalidad que ofrece el Servicio de instantáneas de volumen (VSS).
  14. "El compromiso de Microsoft con Robocopy" . ZDNet. 4 de agosto de 2008. Archivado del original el 17 de marzo de 2010. Consultado el 11 de noviembre de 2012 .
  15. "Fatal error en Robocopy: ignora la seguridad a nivel de archivo - Blog de Martin Zugec" . Msmvps.com. 3 de marzo de 2008. Archivado del original el 8 de mayo de 2009. Consultado el 11 de noviembre de 2012 .
  16. "La opción /MT de Robocopy desactiva la opción /NP" . Microsoft TechNet. 13 de diciembre de 2009. Consultado el 26 de febrero de 2014 .
  17. Joshua Hoffman (noviembre de 2006). "Utility Spotlight Robocopy GUI" . TechNet Magazine . Microsoft Corporation y CMP Media, LLC . Recuperado el 17 de julio de 2008 .
  18. "¿Sigue disponible la interfaz gráfica de usuario de Robocopy de Microsoft?" . Windows TenForums . Consultado el 2 de mayo de 2022 .
  • Documentación de Robocopy en Microsoft Learn
  • Documentación de RoboCopy en SS64.com
Obtenido de " https://en.wikipedia.org/w/index.php?title=Robocopy&oldid=1355165686 "