Script para Backups de DB Mysql

enero 15, 2008 at 9:56 am (1)

Pues sii , estoy vivo despues de un tiempo sin escribir nada aqui os dejo un script para hacer copias del usuario que le indiques con la posibilidad de enviar por correo el backup.

#!/bin/bash

# Ruta en la que se guarda el log de la operacion de backup.
logfile=”/var/log/mysql-backup.log”

# Ruta en la que guardar los backups
backup_dir=”/opt/mysqlbackup”

# Usuario
username=””
password=””

# Creamos un nuevo log del proceso de backup
rm -rf $logfile
touch $logfile

# Mediante esta instruccion, generamos un nombre de fichero con el dia y la hora del proceso de backup.
timeslot=`date +%Y%m%d_%H%M`

cd $backup_d

# Iteramos a traves de la lista de bases de datos a la que el usuario tiene acceso.
for BBDD in $( mysql -u $username –password=$password -h localhost -Bse ‘show databases’ ); do
echo “Creando copia de seguridad de $BBDD”

# Volcamos la base de datos en un fichero temporal
mysqldump –user=$username –password=$password $BBDD > datos.sql

# Y lo comprimimos en un tar.bz2 para ocupar lo mínimo. Util en bases de datos grandes.
tar cvjf mysql-$BBDD-$timeslot.tar.bz2 *.sql

# El nombre del fichero resultante contiene el nombre de la base de datos y la fecha de la copia.
# De esta manera, cuando sea necesaria su restauracion sera mas sencillo de localizar.

echo “Backup completo en la base de datos: $BBDD (mysql-$BBDD-$timeslot.tar.bz2)” >> $logfile

# Borramos el fichero temporal
rm datos.sql
done
#————————————————-

# Deja la linea siguienete si quereis recibir los backups en el correo
#
cat $logfile|mail -s “Proceso Backup $HOSTNAME = MySQL” tuemail@dominio.com

2 comentarios

  1. Pep said,

    Hola Tuxed, hacía tiempo que no habían novedades😉

    También se podría mandar el backup como un attachment comprimido (para bases de datos grandes):
    uuencode mysql-$BBDD-$timeslot.tar.bz2 | mail -s “Proceso Backup $HOSTNAME = MySQL” tuemail@dominio.com

    Saludos😉

  2. Klaudio said,

    Hola,

    Me puedes ayudar, tengo que hacer lo siguiente:

    Crear un script que se conecte a DB MySQL —> que realice consultas (Select) y los datos obtenidos de estas consultas sean enviados desde el mismo servidor por SendMail correo@dominio.cl

    Atento a tus noticias.

    Slds.,
    Klaudio

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: