Copia de seguridad o Backup

Siempre y cuando nuestro hosting no nos ofrezca una buena herramienta de backup, el metodo mas simple y efectivo es crearnos nuestros propios archivos ejecutables.
En ellos indicaremos el nombre de archivo a crear y el origen del backup, ya sean archivos o una dase de datos (en este caso MySQL).

Los ejemplos más abajo presuponen que tenemos la siguiente estructura de directorios (o carpetas) :

/..
/httpdocs (los archivos de nuestro sitio web)
/backup (un directorio que crearemos nosotros)

Sistema Operativo : Estos scrips fueron escritos para el shell de Linux, por lo que no es aplicable a la familia de productos Microsoft.

Nota :
USER = Nombre de usuario de la Base de Datos
PASSWD = Contraseña para este usuario
BASEDEDATOS = Nombre de la Base de Datos

Script de backup de una DB MySQL

Que ejecuta este script?
Hace un 'dump' de la DB y guarda el resultado en un archivo donde el nombre del mismo contiene Año, Mes, Dia, Hora y Minuto más la extensión .sql
De este modo no solo quedaran legible sino ordenado dentro del directorio.

############################
### Backup base de datos ###
############################
# /bin/bash
date=`date -I`
mysqldump --opt -u USER --password="PASSWD" --add-drop-table BASEDEDATOS > /backup/bkpDrupal_xxx_`date +%Y-%m-%d_%H-%M`.sql
#

Script de backup de una DB MySQL con el agregado de una compactacion con bzip

Que ejecuta este script?
Hace un 'dump' de la DB, la compacta con bzip y guarda el resultado en un archivo donde el nombre del mismo contiene Año, Mes, Dia, Hora y Minuto más la extensión .bz2
De este modo no solo quedaran legible sino ordenado dentro del directorio y nos ahorra muchos MB.

###################################
### Backup base de datos + bzip ###
###################################
# /bin/bash
date=`date -I`
mysqldump --opt -u USER --password="PASSWD" --add-drop-table BASEDEDATOS | bzip2 -c > /backup/bkpDrupal_xxx_`date +%Y-%m-%d_%H-%M`.sql.bz2
#

Script de backup de archivos

Que ejecuta este script?
Hace un 'tar' con las opciones -czf (c= crea el archivo, z= lo comprime, f= le pone un nombre)
Entonces, como en los casos anteriores, obtendremos un archivo de backup con un nombre de fácil comprensión y archivado.

Que es un tar?
Tar es una aplicacion para archivar archivos/ficheros UNIX. ver : http://www.gnu.org/software/tar/tar.html
Nota : tar guardara la estructura de directorios y sus permisos.

#######################################
### Backup archivos + compresion gz ###
#######################################
# /bin/bash
tar -czf /backup/bkp_httpocs_`date +%Y-%m-%d_%H-%M`.tar.gz /httpdocs/. -R
#

Como automatizar este proceso con cron?

ir a : Cron y crontab

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Para excluir un directorio?

¿Y si quiero excluir un directorio de el archivo?