fdsf
En mi caso, no me ocupo de los servidores de producción pero si hago un backup enlas pc’s donde desarrollo, esto me puede ahorrar muchas horas de trabajo y dolores de cabeza ante un imprevisto.
En esta ocasión, les traigo un sencillo script que crea un fichero (concompresión gzip) por cada base de datos mysql en el sistema.
Me dirán, pero si existe el la opción de mysqldump –all-databases. Claro, pero esto te genera un único fichero que contiene todas lasbases de datos. Dos puntos en contra de esta ultima opción es, si tenemos muchas DB se genera un fichero sumamente grande y cuando deseemos importar una DB en particular nos obliga a importar todaslas demás.
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
BACKUPUSER="guido"
BACKUPDIR="/home/$BACKUPUSER/backup/mysql"
BACKUPDATEDB=$(date+%Y%m%d_%H%M%S)
BACKUPDATE=$(date +%Y%m%d)
DBUSER="root"
DBPASS="zarpele"
mkdir -p $BACKUPDIR/$BACKUPDATE
for DB in `mysql -u $DBUSER -p$DBPASS -e "SHOW DATABASES" | grep -vDatabase`;
do
echo -n "BACKUP $DB DATABASE..."
mysqldump -u $DBUSER -p$DBPASS $DB | gzip > "$BACKUPDIR/$BACKUPDATE/$DB-$BACKUPDATEDB.sql.gz";
echo "OK"
done
chown -R$BACKUPUSER:$BACKUPUSER $BACKUPDIR/$BACKUPDATE
El script se puede mejorar a gusto del consumidor, por ejemplo podemos agregar un par de lineas y borrar X directorios a partir del día de la fecha así ahorrar espacioen el disco.
Este script lo ejecuto todos los días mediante cron, y asi todos los dias tengo un backup de las base de datos en las que trabajo sin mas que prender la computadora
Saludos…
Regístrate para leer el documento completo.