Instalar el servidor de backups Bacula
Bacula es una herramienta para realizar backups por red con soporte para UNIX (Linux, MacOS X…) y Windows. Vamos a ver como realizar la instalación del servidor de backups bacula en un equipo Linux.
Para almacenar el catalogo vamos a usar un backend MySQL, por lo que supondremos que tenemos instalado un MySQL 5.1.
Descargamos el bacula y lo descomprimimos:
wget 'http://downloads.sourceforge.net/project/bacula/bacula/5.0.3/bacula-5.0.3.tar.gz?r=http%3A%2F%2Fwww.bacula.org%2Fen%2F%3Fpage%3Ddownloads&ts=1295341109&use_mirror=ovh' tar xzf bacula-5.0.3.tar.gz cd bacula-5.0.3
Para instalar la herramienta de gestión gráfica (bat) deberemos instalar qt:
yum install qt4-devel -y
A continuación deberemos añadir el qmake al PATH:
sed -i 's#unset pathmunge#pathmunge /usr/lib/qt4/bin\nunset pathmunge#' /etc/profile . /etc/profile
Para simplificar, crearemos un solo usuario para los tres servicios que irán al servidor (bacula-fd, bacula-sd, bacula-dir)
useradd bacula
A continuación creamos los directorios que necesitamos y generamos el password con pwgen para el usuario de la base de datos del bacula:
mkdir -p /usr/local/etc/bacula/ pwgen 20 > /usr/local/etc/bacula/.mysql.bacula.pass chmod 600 /usr/local/etc/bacula/.mysql.bacula.pass mkdir -p /var/bacula/working chown bacula. /var/bacula -R
La configuración del bacula la haremos con las siguientes opciones:
- –with-mysql=/usr/local/mysql: Indicamos dónde tenemos instalado el MySQL
- –enable-bat: Habilitamos la herramienta bat de gestión gráfica
- –with-dump-email= y –with-job-email=: Indicamos el email que queremos que reciba las diferentes alertas
- –with-dir-password=, –with-fd-password= y –with-sd-password=: Indicamos las contraseñas de los diferentes servicios, si no especificamos una se generará automáticamente una en los ficheros de configuración
- –sysconfdir: Indicamos dónde dejaremos las opciones de configuración. Al ser un servicio complejo, es preferible usar un directorio específico para bacula. Por ejemplo, /usr/local/etc/bacula
- –with-db-password=: Indicamos la contrasenya para el usuario de la base de datos
- –with-working-dir=: Indicamos un directorio de trabajo para el bacula dónde dejará sus archivos temporales
- –enable-smartalloc: Con esta opción se habilita el código de detección de memory leaks. Dicha opción esta recomendada en la documentación del bacula.
El configure quedaría, por ejemplo:
./configure --with-mysql=/usr/local/mysql --prefix=/usr/local \ --enable-bat --with-dump-email=jordi@systemadmin.es \ --with-job-email=jordi@systemadmin.es \ --with-dir-user=bacula --with-sd-user=bacula \ --with-fd-user=bacula --with-dir-group=bacula \ --with-sd-group=bacula --with-fd-group=bacula \ --sysconfdir=/usr/local/etc/bacula \ --with-db-password=$(cat /usr/local/etc/bacula/.mysql.bacula.pass) \ --enable-smartalloc --with-working-dir=/var/bacula/working/
Al finalizar nos dará un resumen como el siguiente:
Configuration on Tue Jan 18 19:12:51 CET 2011: Host: i686-pc-linux-gnu -- redhat Bacula version: Bacula 5.0.3 (04 August 2010) Source code location: . Install binaries: /usr/local/sbin Install libraries: /usr/local/lib Install config files: /usr/local/etc/bacula Scripts directory: /usr/local/etc/bacula Archive directory: /tmp Working directory: /var/bacula/working PID directory: /var/run Subsys directory: /var/lock/subsys Man directory: ${datarootdir}/man Data directory: /usr/local/share Plugin directory: /usr/local/lib C Compiler: gcc 4.1.2 C++ Compiler: /usr/bin/g++ 4.1.2 Compiler flags: -g -O2 -Wall -fno-strict-aliasing -fno-exceptions -fno-rtti Linker flags: Libraries: -lpthread -ldl Statically Linked Tools: no Statically Linked FD: no Statically Linked SD: no Statically Linked DIR: no Statically Linked CONS: no Database type: MySQL Database port: Database lib: -L/usr/local/mysql/lib64/mysql -lmysqlclient_r -lz Database name: bacula Database user: bacula Job Output Email: jprats@systemadmin.es Traceback Email: jprats@systemadmin.es SMTP Host Address: localhost Director Port: 9101 File daemon Port: 9102 Storage daemon Port: 9103 Director User: bacula Director Group: bacula Storage Daemon User: bacula Storage DaemonGroup: bacula File Daemon User: bacula File Daemon Group: bacula SQL binaries Directory /usr/local/mysql/bin Large file support: yes Bacula conio support: yes -lncurses readline support: no TCP Wrappers support: no TLS support: yes Encryption support: yes ZLIB support: yes enable-smartalloc: yes enable-lockmgr: no bat support: yes enable-gnome: no enable-bwx-console: no enable-tray-monitor: no client-only: no build-dird: yes build-stored: yes Plugin support: yes AFS support: no ACL support: yes XATTR support: yes Python support: no Batch insert enabled: yes
Podremos seguir con el make y el make install:
make && make install
A continuación deberemos crear los usuarios y la base de datos en el MySQL:
/usr/local/etc/bacula/create_mysql_database -p$(cat /var/mysql/.mysql.root.pass) echo "grant all privileges on bacula.* to bacula@localhost identified by '$(cat /usr/local/etc/bacula/.mysql.bacula.pass)';" | mysql -p$(cat /var/mysql/.mysql.root.pass) /usr/local/etc/bacula/make_mysql_tables -p$(cat /var/mysql/.mysql.root.pass)
En la segunda parte veremos como configurar el cliente y el servidor y arrancar los daemons.
En esta misma serie, instalación y configuración de bacula:
- Instalación del servidor de backups bacula
- Configuración del daemon bacula-sd
- Configuración del daemon bacula-fd
- Instalación del cliente de backups bacula-fd
- Configuración del daemon bacula-dir
24. January 2011 at 10:35 am :
Se te ha colado algo 😛
servidor (bacula-fd, bacula-sd, bacula-dir)
*per simplicitat, un sol user al server:*
Esperaremos a la segunda parte para ver como configurarlo 😉
Un saludo
24. January 2011 at 11:04 am :
Corregido, se me han colado mis apuntes 😛 Bien visto, muchas gracias!
3. February 2011 at 11:35 pm :
[root@elvis ~]# /usr/local/etc/bacula/.mysql.bacula.pass
-bash: /usr/local/etc/bacula/.mysql.bacula.pass: Permiso denegado
??? Holaaa buen tuto pero me quedo aqui , a ver si me hechas una mano
Saludos
4. February 2011 at 2:27 pm :
Hola,
En este fichero se almacena la contraseña para el usuario bacula, no es para ejecutarse. En que paso estas?
saludos,
30. January 2013 at 11:38 pm :
Hola muy buenas tarde estoy en mi periodo de practica como tecnologo en sistemas
y me incuentro instalando bacula para una maquina debian 6.0 squezee con un NAS WestDigital 5 tb pero la duda es que solo debo utilizar solo una maquina para hacerle el backup y mandarle al NAS
podria utilizar este mismo manual igual como esta o cambiaria algunas cosas
GRACIAS Y FELIZ DIA
23. March 2015 at 4:51 pm :
Hola Estimado Agradecerte por el tutorial, mi duda es la siguiente:
Tengo instalado en una maquina virtual el bacula y funciona correctamente pero quiero configurar el Almacenamiento de mis backups en otro equipo que no sea mi servidor. se podria realizar esta configuracion para que almacene en otro equipo ?
por favor podrias colaborarme con la configuracion de los archivos para que pueda realizar esta tarea??
saludos