// Windows Avanzado: sincronice directorios automáticamente con la herramienta de Robocopy

2
image

Robocopy (Robust File Copy Utility) es una función basado en una línea de comando la cual te permite replicar directorios. Su introducción fue en el sistema operativo de Windows Vista y este también está disponible tanto en Windows 7 como en Windows Server 2008 (también disponible en Windows 2003 si bajas el Resource Kit Tools). El beneficio de que esta herramienta sea una línea de comando en vez de una aplicación es que puedes invocar esta función desde un archivo “batch”, y a su vez este archivo “batch” coordinarlo a que corra cada “X” tiempo. En resumen, puede automatizar la función de replicación de directorios como un método de salvaguardar la data. Veamos cómo funciona.

Si ingresas a la línea de comando (Command Prompt) e ingresas el comando robocopy /? Puedes ver las diferentes opciones que tiene dicha función.

clip_image002

Vamos a hacer un ejemplo creando un archivo “batch” para que robocopy sincronice dos directorios automáticamente.

Paso #1: Abra la aplicación de Notepad.

Paso #2: Ahora vamos a escribir la siguiente línea:

robocopy C:\<Directorio A> C:\<Directorio B> /MIR /Z

Dónde vas a sustituir <Directorio A> y <Directorio B> por la dirección donde queda cada directorio a sincronizar. La opción /MIR le indica a robocopy que vas a replicar (MIRROR) lo que está en la carpeta del Directorio A a la carpeta en el Directorio B. Cualquier archivo que está en la carpeta del Directorio B, que no esté en el Directorio A será eliminado. LA opción /Z le indica que en caso de que la conexión se pierda (sea porque los archivos están en dos computadoras apartes) este inicie en el punto donde se quedó.

clip_image004

Como pueden ver, robocopy no copia archivos, sino carpetas con todo su contenido. Este no acepta como comando el especificar un archivo. Si sólo necesitas copiar sólo uno archivo, tienes que especificar la carpeta donde quede este.

Ahora guarda el archivo de la siguiente manera…

Paso #3: En Notepad, seleccionas File > Save As

clip_image005

Paso #4: Donde dice SAVE AS TYPE, selecciona ALL FILES (*.*).

clip_image007

Paso #5: Escoges donde quieres almacenar el archivo “batch”, asígnale un nombre y procura que este tenga la extensión .bat. Oprime SAVE.

clip_image009

Paso #6: Ahora has un clic derecho a My Computer y selecciona la opción de MANAGE.

clip_image010

Paso #7: En la siguiente ventana escoja la opción de TASK SCHEDULER en el menú a la izquierda. Luego, en la lista de acciones (ACTIONS) a mano derecha, escoja la opción CREATE BASIC TASK…

clip_image012

Paso #8: Ingrese el nombre de esta actividad y oprima NEXT.

clip_image014

Paso #9: Escoja cuando usted quiere que se ejecute la actividad. Oprima NEXT.

clip_image016

Paso #10: Seleccione la opción START A PROGRAM. Oprima NEXT.

clip_image018

Paso #11: Escoja el archivo “batch” que creamos en los pasos anteriores.

clip_image020

Paso #12: En la pantalla de confirmación, oprima FINISH.

clip_image022

Listo, ahora Robocopy sincronizará ambas carpetas automáticamente según las especificaciones que le indico en el TASK SCHEDULER.

2 Responses

  1. Ceclio

    lo e probado localmente copiando de una carpeta a otra. Pero que pasa si quiero copiar de una red a mi dico local. mi archivo final quedo asi:

    robocopy “\\192.168.0.16\trjDiseno\DISEÑO GRAFICO\TODO AFUERA\CORPLAN MANUAL” D:\backup\CORPLAN /MIR /Z

    pero no me funciona, podrian ayudarme?

  2. Jose Manuel

    Lo que yo haria es mapearme la unidad.
    Es decir
    NET USE H: /DELETE
    net use h: “\\192.168.0.16\trjDiseno\DISEÑO GRAFICO\TODO AFUERA\CORPLAN MANUAL”
    robocopy H: D:\backup\CORPLAN /MIR /Z