[Jderobot-admin] Backups Robotica

Roberto Calvo rocapal en gsyc.urjc.es
Mie Jul 17 13:43:21 CEST 2013


Hola Borja,

Gracias por el doc! ya está todo hecho. 

root en sarastro:/var/backups/mysql# ls -al
total 204
drwxr-xr-x 2 root root   4096 jul 17 13:45 .
drwxr-xr-x 3 root root   4096 jul 17 13:44 ..
-rwxr-xr-x 1 root root    548 jul 17 13:45 backup.sh
-rw-r--r-- 1 root root  35456 jul 17 13:45 information_schema.sql.gz
-rw-r--r-- 1 root root 131981 jul 17 13:45 mysql.sql.gz
-rw-r--r-- 1 root root  22430 jul 17 13:45 redmine.sql.gz

Los directorios serían
/var/www/
/var/lib/redmine-2.3/
/var/backups/mysql


Sobre el tema de la fecha, si no le pongo fecha, sólo tendrás el backup
de la última vez que se hizo ¿verdad? Y si le pongo la fecha va a copiar
siempre todos y nunca borrará lo antiguos.
De momento le pongo la fecha para tener varios, pero creo que bacula
automáticamente hace backups incrementales y/o únicos.

Por cierto, si quieres verlo o te apañas mejor te puedo hacer cuenta en
esa máquina que no hay ningún problema, como mejor veas.

Un saludo!


El mié, 17-07-2013 a las 12:22 +0200, Borja Mon Serrano escribió:
> 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.
> 

-- 
Roberto Calvo Palomino        | Robotics Lab (GSyC) 
R&D Android Mobile Engineer   | Universidad Rey Juan Carlos

Twitter: @rocapal 
Linkedin: http://www.linkedin.com/in/rocapal



More information about the Jderobot-admin mailing list