[Jderobot-admin] Backups Robotica

Borja Mon Serrano borjamonserrano en gmail.com
Mie Jul 17 12:22:25 CEST 2013


Hola Roberto,

Borja,
>
> Si te parece vamos a ir preparando los backups de sarastro, vamos
> teniendo cosas y no quiero tener ningún susto.
>
> Dime que necesitas que esté instalado en la máquina, y si necesitas que
> te pase los directorios y bases de datos de los que hay que hacer el
> backup.
>

Primero de todo, instala bacula-fd. Lo siguiente, edita el
/etc/bacula/bacula-fd.conf para que tenga lo siguiente:

Director {
  Name = veo-dir
  Password = "MoOLSexsiEzPydGbnQBLbsymM4YwwltRo"
}

#
# "Global" File daemon configuration specifications
#
FileDaemon {                          # this is me
  Name = sarastro-fd
  FDport = 9102                  # where we listen for the director
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /var/run/bacula
  Maximum Concurrent Jobs = 20
}

# Send all messages except skipped files back to Director
Messages {
  Name = Standard
  director = sarastro-fd = all, !skipped, !restored
}

Después, créate un script en /var/backups/mysql que se llame backup.sh con
permiso de ejecución para que haga un backup de las bases de datos. Yo
tengo uno en jderobot tal que así:

#!/bin/bash
USER=$1
PASSWORD=$2
# DATE=`date +"%Y-%m-%d"`
# mkdir -p /var/backups/mysql/${DATE}
cd /var/backups/mysql/
# cd ${DATE}
DBS=`echo "show databases;" | /usr/bin/mysql -s -u${USER} -p${PASSWORD}`
for DBNAME in $DBS; do
echo Backing up $DBNAME...
    /usr/bin/mysqldump \
        --add-drop-database --add-drop-table \
        --complete-insert --create-options \
        --single-transaction -u${USER} -p${PASSWORD} \
        ${DBNAME} > ${DBNAME}.sql
done
echo Compressing files
rm *.sql.gz 2> /dev/null
gzip -9v *.sql
echo DONE

Si quieres que te haga un backup por cada fecha en la que se vaya a hacer
el backup con bacula solo tienes que descomentar las líneas que hacen
referencia a la fecha. Este script servirá para que, antes de hacer el
backup de los ficheros en sí, lo haga de la base de datos y después se
pueda copiar este backup con bacula. Lo único que tienes que cambiar es
donde pone $1 y $2 por el respectivo nombre de usuario y contraseña de la
base de datos de un usuario que pueda hacer un backup (véase el root).
Prefiero que lo metas tú a mano porque si se mete como parámetro y se le
cambian permisos al usuario o cualquier cosa, bacula ya no estaría haciendo
el backup de las bases de datos; de esta forma gestionas tú esa parte y nos
quitamos un posible problema de encima, además de que de esta forma no me
tienes por qué dar ningún usuario ni contraseña o crear uno nuevo solo para
este propósito, etc.

Y ya lo único que me faltaría saber sería de qué directorios quieres que
haga el backup. De primeras te meto /var/backups/mysql, claro, pero tú me
dirás de qué quieres hacer el backup exactamente a parte de las bases de
datos ;-)

Un saludo,

Borja.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jderobot-admin/attachments/20130717/c2de31c5/attachment.htm 


More information about the Jderobot-admin mailing list