Copias de seguridad con ROBOCOPY.
Imagino que a todos los que nos dedicamos a esto nos ocurre que constantemente estamos creando nuevos archivos, nuevas versiones del mismo código, nuevos ficheros que sustituyen al anterior... y vamos haciendo copias de seguridad aquí y allá. Al menos a mí me pasa. Y me pasa también que termino teniendo versiones distintas de una misma cosa en el ordenador portátil y en el de sobremesa, en el pendrive, en el disco duro externo, en el servidor de la empresa... ¡no fuera caso que se perdiera el trabajo!
Pues hace unos días me pregunté si no habría alguna manera fácil y rápida de mantener todo eso un poco más sincronizado. Y sí, claro, la hay. De buenas a primeras seguro que hay un montón de aplicaciones en Softonic que nos permiten hacer copias de seguridad incrementales de manera superprofesional. Pero yo buscaba algo más simple, algo más rápido. Y encontré Robocopy.
Robocopy es una herramienta para copiado de archivos y directorios que nos viene incorporada con Windows Vista (¡algo bueno tenía que tener Vista!). Hace cosas parecidas a las que se podrían hacer con Xcopy, pero si en una linea de comando escribimos:
El propio sistema nos informa que Xcopy es obsoleto y que utilicemos Robocopy en su lugar. Probemos ahora a escribir:
Recibimos una explicación de todos los posibles argumentos que podemos utilizar con Robocopy, algo que con alguna información extra añadida también podemos encontrar en la Wikipedia. Sin embargo para un uso simple, rápido y funcional de Robocopy nos basta con crear un archivo .bat tal que así:
robocopy C:\Proyectos \\99.34.63.19\AM_Proyectos /E /B
robocopy C:\VBnet \\99.34.63.19\AM_VBnet /E /B
robocopy C:\2006 F:\2006 /E /B
robocopy C:\2007 F:\2007 /E /B
robocopy C:\2008 F:\2008 /E /B
Después basta con ejecutar el .bat y directamente se nos crea una copia incremental de los cinco directorios de la unidad C que hemos especificado en las cinco rutas destino que hemos indicado. Así, los dos primeros se copiarán en sus respectivas carpetas en el servidor, mientras que los otros tres irán a parar a mi pendrive USB. Los parámetros /E y /B nos permiten precisamente hacer eso.
Insisto en que es una copia incremental. Esto significa que la primera vez que se ejecuta se demora unos minutos en función de la cantidad de información a respaldar, pero las siguientes sólo copiará los ficheros modificados, con lo que en principio es bastante rápido. No borra de destino los elementos que ya no forman parte de los directorios de origen, pero es algo que también se puede configurar con el parámetro /PURGE si se desea.
Aunque Robocopy viene con Windows Vista, se puede también añadir a sistemas Windows anteriores mediante las Windows Server 2003 Resource Kit Tools que funcionan como su propio nombre indica para Windows Server 2003 y también para Windows XP.
Tags: Batch, copias de seguridad, robocopy, Windows Vista, windows xp, xcopy
Octubre 15th, 2008 at 23:21
Muchas gracias por este post, sólo tengo XP y no sabía si Vista tiraría con el chiringuito que tengo montao pa los backups con xcopy.
Además mis necesidades son muy parecidas a las tuyas y poco más o menos con fusilar las líneas del .bat que pones de ejemplo soluciono la papeleta ;0)
Octubre 16th, 2008 at 07:41
¡Genial!
Yo lo utilizo a diario y chuta muy bien... Además tiene muchas opciones (explicadas en su propia Help) que permiten personalizar mucho cómo tiene que hacer las copias.
Marzo 19th, 2009 at 17:48
Hola Albert,
Tengo un problema, y es que con el robocopy con las opciones /E /B y bueno a parte el /LOG+ para tener un log, hago una copia de seguridad e la musica y documentos en un disco duro externo. esto lo tenog en un bat, pero cuando vuelvo a ejecutar-lo se vuelve a copiar todo :S
Sabrías decirme porque?
Gracias
Marzo 20th, 2009 at 09:29
El XCOPY tenia un parámetro EXCLUDE donde defines archivos , extensiones o carpetas que no deseas copyar. ¿Como se haría eso con ROBOCOPY?
Marzo 27th, 2009 at 14:36
@blinker. Pues no. Ni idea. Yo lo tengo exactamente como tú dices y también para respaldar música, video, fotos y documentos en un disco duro externo y no me lo copia todo de nuevo ni muchísimo menos. Ojo, pasa por todos los documentos y en la consola los va listando según pasa por ellos, pero no los copia, simplemente comprueba si tiene que actualizarlos o no y solo actualiza los que debe. Esto es lo que me hace a mí (y lo que se espera que haga). Si a ti realmente te los está copiando todos no tengo ni idea de por qué puede ser.
Marzo 27th, 2009 at 14:41
@Xavi real. Si escribes robocopy /? te mostrará todas las opciones disponibles. Para hacer lo que propones supongo que tendrás que jugar con /NOCOPY, /XA, /XF, /XD...
Marzo 27th, 2009 at 16:04
Tiene algo que ver si hago lod e ejecutar como administrador??? estoy en vista y si soy usuario administrador, pero como hay la opcion de ejecutar como administrador, nose si serà eso.
Saludos!
Agosto 3rd, 2009 at 23:10
Muchachos, lo que hace robocopy es usar el atributo de copia que usa Windows por defecto, es decir cuando haces la primera copia a cada archivo le quita el atributo de archive, cuando uno abre un archivo, este atributo vuelve a activarse de tal modo que cuando vuelvas a ejecutar, sepa que archivos debe grabar en el incremental.
Si tu te pones a escuchar tu musica, el atributo va a cambiar cuando lo abras en media player jukebox, etc, por eso al volver a ejecutar el bat, lo vuelve a copiar el archivo de musica que escuchaste.
Por otro lado, en las support tools de Windows 2003 puedes encontar esta y otras utilidades muy interesantes para manejo de archivos.