Tips: Respaldos automaticos en DreamHost (Parte 1)

DreamHost provee un excelente servicio de respaldos que se generan cada hora (Duracion: 2 horas), diariamente (Duracion: 2 dias) y semanalmente (Duracion: 2 semanas), el problema es que estos respaldos se encuentran almancenados en el servidor, pero como usuario precavido uno debiera bajarlos cada cierto tiempo, algo que suelo olvidar facilmente.
La Solución: Usar estos respaldos, comprimirlos en un archivo tar y descargarlos automaticamente. Esta “guia” esta 100% basada en el wiki de DreamHost, es escencialmente una traducción y simplificación de la misma. Antes de comenza: todo lo escrito en negrita debe ser reemplazado con su información.
Backup de Archivos
Login SSH a tu cuenta DreamHost
Creamos un directorio para los respaldos
- mkdir backups
- mkdir backups/archives
Escribe en cualquier editor de texto el siguiente script y guardalo como dominio.sh
#!/bin/bash
suffix=$(date +%y%m%d)
cd /home/NOMBREUSUARIO/.snapshot/nightly.0/
tar -cf /home/NOMBREUSUARIO/backups/archives/DOMINIO.$suffix.tar DOMINIO.CL/
Subelo via FTP a la carpeta backups y otorgale permisos de ejecución
- chmod 755 dominio.sh
La estructura de directorios debiera quedar de la sieguiente forma
home/USUARIO
\_ DOMINIO
\_ backups
\_ archives
\_ dominio.sh
Con esto pueden respaldar cada dominio o subdominio que tengar, sólo modificando donde dice DOMINIO en el script
Backup de Bases de Datos
Escribe en cualquier editor de texto el siguiente script y guardalo como mysql.sh
#!/bin/bash
cd /home/NOMBREUSUARIO/backups/
mkdir mysql
suffix=$(date +%y%m%d)
mysqldump –opt -uUSER -pPASS -h servidordb.dominio.cl nombre_db > mysql/nombre_db.$suffix.sql
tar -cf archives/mysql_backup.$suffix.tar mysql/*
rm -r mysql/
Subelo via FTP a la carpeta backups y otorgale permisos de ejecución
- chmod 755 dominio.sh
Luego prueben los scripts generados:
$ cd /home/NOMBREUSUARIO/backups
$ ./dominio.sh
$ ./mysql.sh
Si todo salio bien, ahora debiera existir un archivo por cada dominio respaldado y uno para las bases de datos. Por otra parte, si el servidor les arrojo el siguiente error:
: bad interpreter: No such file or directory
El script no fue subido correctamente, pero pueden corregirlo ejecutando
$ dos2unix script.sh
Programar los respaldos
Ahora es necesario programar los respaldos, esto significa decirle al servidor cuando debe generar estos archivos para que nosotros podamos descargarlos. Esto se logra agregando algunas entradas al Crontab, esto se puede hacer directamente desde el panel de DreamHost.
Para ello, Dreamhost cuenta con una simple interfaz ubicada en Goodies > Cron Jobs, hacemos click en “Add a new Cron Job”, seleccionamos un usuario que tenga acceso shell, escribimos los comandos:
/home/NOMBREUSUARIO/backups/mysql.sh
/home/NOMBREUSUARIO/backups/dominio.sh
Le ordenamos que se ejecute, por ejemplo, cada semana y listo! Con esto debieramos tener respaldos comprimidos en .tar todas las semanas. En la Parte 2 veremos como descargar estos respaldos de forma automatica y borrar (si así lo quieren) los respaldos antiguos en el servidor.
Suerte!
Twitter
Facebook
LinkedIn
Last.fm
Flickr
Delicious