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
- Inicie sesión o regístrese para enviar comentarios

Comentarios
Como Ejecuto el Script
Esta bien redactado el post, pero tengo una sola duda como ejecuto ese script.
de antemano mil gracias.
Para excluir un directorio?
¿Y si quiero excluir un directorio de el archivo?