Me tocó la responsabilidad de realizar backup periodicos sobre un servidor web en donde se hace hosting de algunas aplicaciones de unos clientes y algunas aplicaciones propias de la compañía donde trabajo.
El tema es que el Backup lo debo hacer en una maquina que no sea del hosting ya que el mismo a veces no es estable por lo que necesitaba que mis backups quedaran almacenados en la Internet en caso de tener problemas con el hosting.
Luego de una larga investigación en Internet, ninguna solución encontrada se ajustaba a mis necesidades, las buenas soluciones eran pagas y las gratis no permitían realizar todo lo que deseaba de manera automática, configurable y segura, además la mayoría no presentaba las ventajas de almacenamiento en Internet como DropBox.
La solución fue una mezcla de herramientas gratis que me permitieron hacer un sistema de Backup bien estable, configurable, seguro y totalmente automático.
La solución involucra:
1- DropBox como medio de almacenamiento/transferencia por Internet (2gb gratis hasta 8gb)
2- SyncToy como herramienta para hacer las copias de las aplicaciones y directorios de BD a las carpetas de DropBox
3- ExpressMaint. En este caso las BD están en SQL Server 2005 Express por lo cual no contaba con las herramientas de jobs y planes de mantenimiento para hacer Backups de las BD, la aplicación ExpressMaint permite realizar backups de SQL Server Express de manera muy fácil, rápida y configurable.
4- Un archivo bat que ejecuta los Backups de la BD con la herramienta del punto 3 y posteriormente manda a llamar a SyncToy para realizar el copiado a las carpetas de DropBox
5- Resource Kit de Microsoft para Windows 2003 para configurar una aplicación como servicio. Bajar Esto fue utilizado para hacer que DropBox corriera como servicio
6- Una tarea programada de Windows para que ejecutara el BAT del punto 4.
Básicamente la solución de Backup funciona de la siguiente manera:
1- La tarea programada de Windows se ejecuta de acuerdo a lo agendado (ejem: dos veces a la semana), esta tarea invoca a un archivo BAT
2- El archivo BAT internamente llama a la aplicación que hace los Backups de las BD (ExpressMaint) y luego llama a SyncToy para que ejecute las copias programadas
Ejemplo contenido BAT:
E:\Backups\ExpressMaint.exe -S (local)\SQLExpress -D ALL_USER -T DB -R e:\backups\reports -RU WEEKS -RV 1 -B e:\backups\Bds -BU DAYS -BV 1 -V -C
"C:\Program Files\SyncToy 2.1\SyncToyCmd.exe" -R
Los parámetros de configuración de ExpressMaint los pueden ver ejecutando el .exe y en la página de download de la app. En el ejemplo mostrado se hace Backup de todas las BD del servidor
La llamada a SyncToyCmd simplemente llama a SyncToy como si usáramos la interfaz pero sin requerir acciones del usuario para ejecutar la sincronización. Nota: Para que funcione se debe primero ejecutar una sincronización desde la interfaz grafica.
3- La ruta de origen de la tarea de Synctoy para copiar la bd es la ruta usada por ExpressMaint y la ruta destino debe ser una carpeta dentro de la carpeta de DropBox. Adicionalmente a las BD, se puede configurar en SyncToy otros pares de carpetas a sincronizar, esto con el propósito de copiar a DropBox las carpetas de aplicación.
4- El punto clave es la configuración de DropBox como servicio, para lo que les dejo el siguiente link que pueden seguir desde el punto 4. Running Dropbox as a Service
Luego de tener todo esto configurado, pueden ver sus respaldos en la página web de DropBox y pueden compartir las carpetas de Backup de dropbox para que sean bajadas en otras maquinas y estén disponibles para otros usuarios de DropBox.
Un punto adicional para lidiar con los problemas de espacio de DropBox (solo 2 gb gratis al principio) es por ejemplo crear un servicio de Windows que implemente un Filewatcher y al detectar nuevos archivos de una carpeta de DropBox los copia a otra carpeta fuera de DropBox y los elimina en DropBox. Esto por ejemplo se puede hacer para mantener solo en DropBox la copia mas reciente y guardar las anteriores en una maquina de manera local, todo de manera automática, configurable y escalable.
Si desea una solución de este tipo, deje un comentario par contactarlo y podemos revisar como implementar una solución de este tipo en su(s) servidores.
martes, 6 de abril de 2010
Backup en Internet (muchos archivos, fuentes y gran tamaño de Backups)
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario