Está en la página 1de 2

Habituado a utilizar prcticamente todos los das servidores, me doy cuenta que tengo una

memoria algo mala, y que a veces soy incapaz de recordar dnde estaba tal o cual fichero
de configuracin (los olvidos son directamente proporcionales a la diversidad de los
sistema operativos con que uno trabaja: Debian, Archlinux, Windows, etc). Suelo ir con mi
chuleta de las rdenes ms frecuentes, pero en el caso de no tenerla a mano, o cuando le
est metiendo mucha prisa a uno, he decidido escribir una especie de receta-
recordatorio.
set FECHA=`date '+%Y_%m_%d'`
echo $FECHA
mysqldump -h localhost -u mi_usuario -p base_datos >
/home/rafalinux/backup/mi_base_$FECHA.sql


Como se puede ver, he hecho varias cosas:
he definido una variable de entorno, que me va a servir para clasificar y ordenar por fecha de
creacin el backup que he hecho;
para comprobar que la variable est bien creada, hago un echo;
finalmente, pongo la orden de creacin de la base de datos, que en este ejemplo esmi_base;
al hacer la copia de seguridad, me saldr algo como mi_base_2011_10_30.sql
Uno se podra preguntar que por qu no utilizo Phpmyadmin y otro front-end o interfaz
grfica. S lo utilizo, pero en ocasiones estoy trabajando directamente con el servidor, sin
interfaz grfica, por lo que no tengo ms remedio que administrar todo el servidor
mediante rdenes de consola.
Adems, Phpmyadmin y otros gestores slo permiten un mximo de tamao en el archivo
SQL, as que no hay ms remedio que hacer Backups y Restores de manera manual.
Vi hace tiempo un truco interesante en LuAuf que yo no suelo hacer, pero que es algo que
debera, como medida de precuacin: bloquear las tablas antes de hacer el volcado:
#Desde el shell del cliente mysql:
#Vuelco todos los datos de cache a disco, cierro y bloqueo todas las tablas
mysql> FLUSH TABLES WITH READ LOCK;

#Ejecuto mysqldump para hacer el backup
mysqldump -u usuario -p base_de_datos > backup.sql

#Desde el shell del cliente mysql:
#Desbloqueo las tablas
mysql> UNLOCK TABLES;
Restaurar la copia de seguridad
La orden que hay que ejecutar es similar, pero no igual. Para esto hay varias maneras,
pero yo voy a poner solamente la que utilizo, porque me es ms cmoda:
mysql -u usuario -p base_de_datos < backup.sql
Ahora vemos cmo se vuelca el contenido de backup.sql en base_de_datos.

También podría gustarte