Robocopy es un programa de Windows, introducido en su versión Vista, Que permite sincronización entre directorios. Hoy nos vamos a centrar en cómo podemos sincronizar dos directorios.

robocopy origen destino /E /COPYALL /MIR
  1. /E: Copia el contenido de la carpeta de modo recursivo.
  2. /COPYALL: Copia toda la información de los archivos y carpetas copiados (fecha de creación, información de auditoría y propiestario …).
  3. /MIR: Borra en la carpeta de destino cualquier fichero que no exista en origen.

Una funcionalidad interesante es que no tiene en cuenta el límite de 256 carácteres en las cadenas y permite hacer la copia sin errores. Por contra uno de los inconvenientes que tiene robocopy es que no puede copiar ficheros abiertos o en uso.

Para más información: Robocopy en la wikipediaRobocopy en la TechNet

En ocasiones te encuentras con la necesidad de sincronizar contenidos de carpetas para hacer una posterior copia de seguridad. Una manera rápida y sencilla es copiando el contenido a un pen drive y mover manualmente el contenudo a sincronizar. Otro método más rápido, ágil, limpio y óptimo sería utilizar rsync.

rsync -altgvb /carpeta/origen /carpeta/destino

¿Pero qué pasa si lo que queremos es sincronizar carpetas remotas? Rsync nos permite establecer una conexión SSH, indicando que usuario la establece, contra otro servidor para sincronizar contenidos.

rsync -avz -e ssh usuario@ip_origen:/carpeta/origen /carpeta/destino

Breve entrada sobre la gestión de bases de datos con MySQL.

Me encontré con la necesidad de migrar una BBDD de un servidor MySQL a otro nuevo. La acción es senzilla si disponemos de herramientas como MySQL Workbench pero en este caso nos centraremos en como realizar un script para su copia de seguridad y posterior recuperación.

Accederemos al servidor y nos conectaremos a la consola, CMD. Una vez allí navegaremos hasta la carpeta BIN dentro de la ruta de instalación del MySQL. En esa carpeta encontraremos un ejecutable que se llama mysqldump.exe que es el que utilizaremos para realizar las tareas de copia de seguridad y recuperación. La extracción de datos se hace en un fichero de extensión sql.

Ahora que ya estamos en la ruta correcta procederemos con la ejecución de los comandos siguientes:

mysqldump -u user -p password nombre_bbdd > fichero_de_destino.sql

Una vez tengamos la copia de seguridad de la BBDD solamente tendremos que conectarnos al servidor nuevo, navegar hasta la misma ruta y entonces ejecutar los comandos siguientes:

mysql -u user -p password nombre_bbdd < fichero_de_origen.sql

Espero haber sido de ayuda.