[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