Robocopy (Robust File and Folder Copy) es un comando incluido en le “resource kit” de Windows, el cual nos es de utilidad para copiar archivos y carpetas, hasta aquí ninguna novedad.
Entonces, ¿por qué no usamos “copy and paste” de nuestro Güindoüs?
Bien, robocopy es muy moldeable, le podemos decir que borre la fuente de la que está copiando; sí hacemos una copia semanal, los archivos que se han borrado en la carpeta fuente se borren tambien de la carpeta a la que estamos moviendo la información; si falla la copia de un archivo, podemos indicarle que lo intente x veces más y cada x tiempo…
Todo esto y mucho más de forma automática.
Y sí ahora creamos un robocopy con una tarea por ejemplo semanal, que nos copie los datos de nuestros equipos de la red a una carpeta del servidor. Parece interesante que se puedan copiar todos los datos sin dar fallo, si da fallo nos muestre un log, nos borre los archivos que se borran del equipo cuando haga la siguiente copia… y encima no me tengo que preocupar de nada. No está mal ¿verdad?
Bueno pues en primer lugar vamos a crear un archivo .bat, lo podeis llamar como querais menos robocopy.bat
ya sabeis como crear un archivo bat ¿no? abrimos un archivo de texto y lo renombramos a .bat o en la consola con el comando edit.
¿Qué contiene nuestro bat? Principalmente va a contener algo como esto:
ROBOCOPY \\EQUIPO1\C$ \\SRV01\F$\BACKUP /S /E /COPYALL /MIR /R:2 /W:2 /LOG:F:\BACKUP\COPIA1.TXT
Vamos a verlo poquito a poco…
Robocopy origen destino /s (copia subdirectorios) /e (copia subdirectorios incluyendo los que esten vacios) /copyall (copia toda la informacion adherida a los ficheros, permisos ntfs y demás) /mir (crea el mismo arbol de directorios que el fuente) /r:2 (dos reintentos si falla la copia del fichero) /w:2 (tiempo de espera entre cada intento) :/log:fich.txt (ruta y fichero que se crea para el log)
Ahora nos vamos a tareas programadas, creamos una nueva tarea en la que semanalmente se ejecute el bat que hemos creado y tenemos listo nuestra copia, de uno de nuestros equipos al servidor.
Cosas a tener en cuenta…
- Si queremos meter más equipos en la copia no tenemos que crear otro bat, con incluirlo unas lineas más abajo del que creamos vale, aunque en ciertos casos si se usan varios, al menos yo, más que nada por probar que funcionan ambos correctamente ya que siempre nos hemos podido equivocar en algun parametro del comando.
- Las carpetas de las que copiamos y sobre las que copiamos deben tener PERMISOS, sino no se realizara la copia correctamente.
- El tiempo de espera por defecto entre fallos de copia es de 30 segundos, si lo dejamos así y fallan 100 archivos… imaginaros el tiempo que va a tardar en copiar.
- Por supuesto, debeis tener instalado el resource kit de windows sino no tendreis el comando, lo podeis descargar aqui. Vale para Windows 2003 Server y para Windows XP.
¿Algún enlace de interes?
Como utilizar robocopy para copiar información de seguridad sin copiar datos de ningun archivo.
Como utilizar robocopy para replicacion de directorios.
Synatxis de utilización y lista completa de parametros:
ROBOCOPY source_folder destination_folder [file(s)_to_copy] [options] Key file(s)_to_copy : A list of files or a wildcard. (defaults to copying *.*) Source options /S : Copy Subfolders /E : Copy Subfolders, including Empty Subfolders. /COPY:copyflag[s] : What to COPY (default is /COPY:DAT). (copyflags : D=Data, A=Attributes, T=Timestamps). (S=Security=NTFS ACLs, O=Owner info, U=aUditing info). /COPYALL : Copy ALL file info (equivalent to /COPY:DATSOU). /NOCOPY : Copy NO file info (useful with /PURGE). /A : Copy only files with the Archive attribute set. /M : like /A, but remove Archive attribute from source files. /LEV:n : only copy the top n LEVels of the source tree. /MAXAGE:n : MAXimum file AGE - exclude files older than n days/date. /MINAGE:n : MINimum file AGE - exclude files newer than n days/date. (If n < 1900 then n = no of days, else n = YYYYMMDD date). /FFT : assume FAT File Times (2-second granularity). /256 : turn off very long path (> 256 characters) support. Copy options /L : List only - don't copy, timestamp or delete any files. /MOV : MOVe files (delete from source after copying). /MOVE : Move files and dirs (delete from source after copying). /Z : copy files in restartable mode (survive network glitch). /B : copy files in Backup mode. /ZB : use restartable mode; if access denied use Backup mode. /IPG:n : Inter-Packet Gap (ms), to free bandwidth on slow lines. /R:n : number of Retries on failed copies - default is 1 million. /W:n : Wait time between retries - default is 30 seconds. /REG : Save /R:n and /W:n in the Registry as default settings. /TBD : wait for sharenames To Be Defined (retry error 67). Destination options /A+:[R][A][S][H] : set file Attributes on destination files - add. /A-:[R][A][S][H] : set file Attributes on destination files - remove. /FAT : create destination files using 8.3 FAT file names only. /CREATE : CREATE directory tree structure + zero-length files only. /PURGE : delete dest files/folders that no longer exist in source. /MIR : MIRror a directory tree - equivalent to /PURGE plus all subfolders (/E) Logging options /L : List only - don't copy, timestamp or delete any files. /NP : No Progress - don't display % copied. /LOG:file : output status to LOG file (overwrite existing log). /LOG+:file : output status to LOG file (append to existing log). /TS : include source file Time Stamps in the output. /FP : include Full Pathname of files in the output. /NS : No Size - don't log file sizes. /NC : No Class - don't log file classes. /NFL : No File List - don't log file names. /NDL : No Directory List - don't log directory names. /TEE : output to console window, as well as the log file. /NJH : No Job Header. /NJS : No Job Summary. Repeated Copy Options /MON:n : MONitor source; run again when more than n changes seen. /MOT:m : MOnitor source; run again in m minutes Time, if changed. /RH:hhmm-hhmm : Run Hours - times when new copies may be started. /PF : check run hours on a Per File (not per pass) basis. Job Options /JOB:jobname : take parameters from the named JOB file. /SAVE:jobname : SAVE parameters to the named job file /QUIT : QUIT after processing command line (to view parameters). /NOSD : NO Source Directory is specified. /NODD : NO Destination Directory is specified. /IF : Include the following Files. Advanced options you'll probably never use /XO : eXclude Older - if destination file exists and is the same date or newer than the source - don't bother to overwrite it. /XC | /XN : eXclude Changed | Newer files /XX | /XL : eXclude eXtra | Lonely files and dirs. An "extra" file is present in destination but not source, excluding extras will delete from destination. A "lonely" file is present in source but not destination excluding lonely will prevent any new files being added to the destination. /IS : Overwrite files even if they are already the same. /XF file [file]... : eXclude Files matching given names/paths/wildcards. /XD dirs [dirs]... : eXclude Directories matching given names/paths. XF and XD can be used in combination e.g. ROBOCOPY c:source d:dest /XF *.doc *.xls /XD c:unwanted /S /MAX:n : MAXimum file size - exclude files bigger than n bytes. /MIN:n : MINimum file size - exclude files smaller than n bytes. /IT : Include Tweaked files. /XJ : eXclude Junction points. (normally included by default). /MAXLAD:n : MAXimum Last Access Date - exclude files unused since n. /MINLAD:n : MINimum Last Access Date - exclude files used since n. (If n < 1900 then n = n days, else n = YYYYMMDD date). /XA:[R][A][S][H] : eXclude files with any of the given Attributes /IA:[R][A][S][H] : Include files with any of the given Attributes /X : report all eXtra files, not just those selected & copied. /V : produce Verbose output log, showing skipped files. /ETA : show Estimated Time of Arrival of copied files.
Septiembre 19, 2006 a las 5:47 pm
ehhhhhh!!!!no te emociones que soy yo otra vez…para decirte, que efectivamente, no he entendio ná pero aprovecho y hago un llamamiento a todas las personas que visitan este blog que ya van siendo bastante considerables que por favor, dejen algun comentario o pregunta a su autor, porque se muere de ganas de conoceros….va,porfa…que dentro de ná es su cumple,jejejejeje…
Besos tú.
Septiembre 19, 2006 a las 10:07 pm
miala que maja
Noviembre 23, 2006 a las 5:38 pm
Holas, un favor quería saber con que protocolos se comunica robocopy
Noviembre 24, 2006 a las 10:26 am
Si tus maquinas se comunican con TCP/IP, se comunicara a través de TCP/IP.
Si utilizas otros protocolo se comunicaran con otro, no depende del programa.
Un saludo.
Enero 2, 2007 a las 9:24 am
Y se podria utilizar entre dos equipos de redes distintas, o tendriasmos que realizar alguna VPN?
Enero 2, 2007 a las 9:28 am
VPN
Febrero 13, 2007 a las 12:20 pm
Sabeis de algun manual en español de Robocopy????
Febrero 28, 2007 a las 12:55 pm
Tienes algún listado de códigos de errores del ROBOCOPY.EXE
Gracias
Danny de CHILE.
Octubre 17, 2007 a las 5:50 pm
No se si gritar o llorar [opto por llorar, pues no me va lo de gritar]. Os cuento: He seguido las instrucciones que aqui se indican y que me parecían muy simples y útiles. Pues bien he borrado de un servidor miles de ficheros con datos importantes… todo por culpa de la opción MIR que según el genial autor “/mir (crea el mismo arbol de directorios que el fuente) ” Con esta opción se eliminan los directorios/ficheros que no existan en el fuente.
Después de mucho buscar para ver que había pasado, he encontrado el siguiente aviso en el manual oficial de Robocopy (robocopy.doc):
Caution
Use /PURGE and /MIR very carefully. If you inadvertently specify /PURGE or /MIR with an existing destination directory, Robocopy can quickly delete a large amount of data from the destination
NOTA: Creo que si recomiendas usar una opción tan peligrosa como esta, al menos deberias avisarlo, como hacen en el manual. Por culpa de esto he perdido una cantidad enorme de horas y he tenido un buen marron.
(no quiero tanto recriminar al autor por no avisar, que tambien, sino sobretodo avisar a los lectores para que no les ocurra lo mismo)
)
Un saludo
(por cierto es el primer blog que escribo una respuesta
Noviembre 6, 2007 a las 10:45 pm
solo una pregunta….kiero pasar informacion con el robocopy…pero mi pregunta es si la makina destino a donde van a ir las imaganes es windows server 2003 standard x64 edition habra algun problema ya ke el robocopy no es compatible con dicho windows……el servidor en donde esta instalado en robocopy si es compatible ya ke ya lo tengo instalado
espero me puedan ayudar..
Noviembre 6, 2007 a las 10:46 pm
solo una pregunta….si estoy pasando unas imagenes con el robocopy pero el servidor destino tiene windows server 2003 standard x64 edition…crees ke haya algun problema…..
Noviembre 25, 2007 a las 9:56 am
Entre los sistemas operativos compatibles, ¿no está windows 2000 server? Si lo instalo ¿no me va a funcionar?
Noviembre 30, 2007 a las 2:29 pm
@jLauzirika: funciona muy bien en windows 2000, XP y 2003.
Enero 6, 2008 a las 9:06 am
El Robocopy es una gran utilidad, pero recomendar a los usuarios el comando /mir sin una advertencia previa de los posibles riesgos en su uso (junto con /purge), me parece bastante imprudente.
Os recomiendo leer atentamente la ayuda del Robocopy ( http://www.psychiatry.uc.edu/wade/TecDocs/robocopy.pdf ) antes de poner en riesgo vuestros datos.
Usado apropiadamente Robocopy y XXCopy son las mejores utilidades para backups por medio de ficheros batch.
Enero 21, 2008 a las 4:58 am
frenchlick education
Febrero 7, 2008 a las 3:01 pm
Ricardo, por amor de Dios, antes de utilizar una herramienta coteja opiniones/información
Saludos
El enmascarado purpura
Febrero 7, 2008 a las 4:00 pm
Hola como podria hacer funcionar el robocopy en windows 2000?
Febrero 13, 2008 a las 12:26 pm
Estoy intentando utilizar robocopy, pero no hay manera a la hora de incluir paths con espacios en blanco, en principio con las comillas me detecta el origen pero no el destino. Help Please
C:\Documents and Settings\FERNANDEM\My Documents\ H:\Backup
Abril 3, 2008 a las 3:31 pm
JGR, eso es porque no has cerrado bien las comillas
Mayo 9, 2008 a las 4:26 pm
hola gente necesito saber si yo realizo un backup con robocpy de una carpeta “x” y dentro de esa carpeta “x” tengo una “z” como excluyo z del backup .
Desde ya muchas gracias
Mayo 19, 2008 a las 12:34 am
4… el robocopy xD
No, en serio… muchas gracias por la info, me has sacado de un aprieto a eso de las 3 de la mañana! muchas gracias y felicidades por este blog! asi da gusto!!
Santi
Junio 6, 2008 a las 8:48 pm
alguien sabe por que me sale el mensaje “espacio insuficiente en disco”, cosa que en la realidad tengo bastante espacio.
Junio 6, 2008 a las 8:50 pm
para comentarles, lo tengo funcionando varios años, solo que en estos tiempos me sale ese mesanje de espacio insuficiente, y de ahi en adelante no copia, sin embargo tengo mucho espacio, que puede ser.
Junio 16, 2008 a las 10:49 am
Jrojas,
Si es un 2003 seguramente el tema de la cuota de disco.
Julio 11, 2008 a las 4:08 am
Gracias por tu orientacion, casualmente lo encontre y con las referencias pude completar un trabajo de migracion de dc’s.
THKS
Heriberto
Enero 20, 2009 a las 4:56 pm
como coloco usuario y contraseña dentro d robocopy
Marzo 20, 2009 a las 7:07 am
BUeno, pero yo lo que quiero es una explicacion básica de los comandos de robocopy… Hasta ahora utilizaba XCOPY, pero se me trunca con rutas muy largas (+255 chrs). En concreto, ¿como utilizo la orden de XCOPY c:\xxxxxxxx d:\yyyyyyyy /D /Y /S?, o sea una copia incremental
Marzo 25, 2009 a las 11:38 pm
Estoy utilizando el robocopy y me funciona bien, pero quiero decirle que no copie cierta carpeta, que está dentro del directorio que está copiando. Estoy utilizando el parametro “/xx nombredecarpeta” que leí en algunas páginas pero no logro que me funcione, alguien sabe, cómo hacerlo?. Gracias
Octubre 29, 2009 a las 10:35 pm
hola..he utilizado el robocopy pero al hacer la copia nose que paso me borro una carpeta con informacion importante ..utilize un el pci_fileRecovery pero no me recupero todos los archivo..quisiera saber como puedo recuperar la totalidad delos archivos y archivos .exe, .bat.