Tips: Respaldos automaticos en DreamHost (Parte 1)

DreamHost

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

  1. mkdir backups
  2. 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

  1. 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

  1. 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!

Bookmark and Share

Leave a Reply