Sei sulla pagina 1di 36

Bacula.

Manual para la instalacin y configuracin.


(Documento sujeto a cambios)
Ing. Luis Gonzlez Fraga
11/03/2013

Bacula, respaldo de datos en un sistema informtico by Luis Gonzlez Fraga is licensed under a
Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Spain License. Based on work at
www.samvar.es

Nota del autor:


Usted encontrar algunos errores de redaccin en este documento, puesto que el mismo est
confeccionado en casi toda su totalidad con el uso de un software de transcripcin de voz.
Disculpe las molestias que esto pueda ocasionar.
Importante:
Este es el procedimiento que se recomienda llevar a cabo desde el sitio oficial de Bacula.
(Nunca he tenido problemas con el mismo, a diferencia de otros mtodos) Por favor, siga al pie
de la letra los pasos que ver ms adelante y complemente la informacin de este documento
con la que se ofrece en los videos tutoriales: Bacula, respaldo de datos en un sistema
informtico.
Requisitos previos:
Es necesario disponer del servicio de bases de datos MySQL y la herramienta de administracin
de la base de datos MySQL llamada PHPMyAdmin. Tambin es muy importante tener conexin
a Internet desde la red local objetivo al menos durante el proceso de instalacin de todos los
servicios.
Instalacin de Bacula:
Abriremos la terminal de consola para realizar algunos pasos previos a la instalacin.
Una vez abierta, realizaremos la instalacin de algunas dependencias necesarias las cuales
pueden que ya se encuentren instaladas o actualizadas en nuestro sistema en cuyo caso no se
realizar absolutamente nada. Escribimos o copiamos el siguiente mandato de instalacin en
dicha terminal de consola para instalar las dependencias necesarias:
yum -y install autoconf automake e2fsprogs-devel gcc-c++ glibc-devel glibc-headers krb5devel libacl-devel libgomp libstdc++-devel libtermcap-devel libxml2-devel m4 make ncurses
ncurses-devel openssl-devel readline-devel redhat-rpm-config rpm-build screen zlib-devel
mysql-devel
Una vez instaladas todas estas dependencias, se procede a instalar algunas herramientas para
la administracin grfica de Bacula, en el caso que el servidor cuente con un entorno grfico
como Gnome o KDE. As que es necesario descargar estos paquetes de un sitio de repositorio
que es distinto al que usa normalmente Centos. Estas dependencias estn alojadas en el
repositorio de EPEL.
Para poder instalar las dependencias del repositorio EPEL, se escribe o se copia el siguiente
mandato en la terminal de consola:
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-54.noarch.rpm

Con esto ya se puede instalar los siguientes paquetes, para la administracin grfica de bacula.
Escribir el siguiente mandato en la consola:
yum install qwt qwt-devel wxGTK
Hasta aqu se a instalado una herramienta necesaria para la administracin grfica de Bacula.

Atencin!
En este punto, existe un problema, ya que los propios ficheros de instalacin de los mdulos
de Bacula, tienen que adecuarse a la arquitectura de nuestro sistema operativo para que se
instalen correctamente y evitar los tpicos errores en dicha instalacin.
La solucin, es muy ingeniosa, se crear una estructura de directorios en la cual poder
construir paquetes de formato ".rpm".
Primero ejecutamos lo siguiente en la terminal de consola para crear dichos directorios:
cp -r /usr/src/redhat ~/rpm_build
Y a continuacin usted debe de crear en el directorio:" /home" el fichero: ".rpmmacros"
con el siguiente contenido:

%_topdir %(echo ${HOME}/rpm_build)


%_tmppath %{_topdir}/tmp
%packager <escribe tu nombre> <tu apellido> <tu direccin de correo>
# if you got your own rpm gpg key, add this two lines:
#%_signature gpg
#%_gpg_name <tu nombre> <tu apellido>

Realizado esto, ahora s se puede descargar los ficheros de instalacin ms reciente de bacula
en un directorio cualquiera, por ejemplo en: /root/temporal/
Ir al sitio de descarga de los instaladores de bacula:
http://sourceforge.net/projects/bacula/files/rpms/
al sitio: http://www.samvar.es/index.php/descargas-libres/equipamientoslogicos/instaladores
Y seleccione la ltima versin disponible, para este artculo la es la v 5.0.3. Descargar los
siguientes archivos en el directorio:

bacula-5.0.3-1.src.rpm
bacula-bat-5.0.3-2.src.rpm
bacula-docs-5.0.3-1.src.rpm
bacula-mtx-5.0.3-1.src.rpm

Se accede a dicho directorio va consola:


cd /root/temporal
Y se ejecuta los siguientes mandatos para reconstruir los nuevos paquetes de extensin .rpm
acorde a la arquitectura del servidor (Estos pasos pueden tomar algo de tiempo):

rpmbuild --rebuild --define "build_centos5 1" --define "build_mysql 1" --define "build_bat 1"
--define "build_wxconsole 1" bacula-5.0.3-1.src.rpm
Construir el segundo paquete de instalacin:
rpmbuild --rebuild --define "build_centos5 1" --define "build_mysql 1" --define "build_bat 1"
--define "build_wxconsole 1" bacula-bat-5.0.3-2.src.rpm
Proseguir con la creacin del siguiente paquete:
rpmbuild --rebuild --define "build_centos5 1" --define "build_mysql 1" --define "build_bat 1"
--define "build_wxconsole 1" bacula-mtx-5.0.3-1.src.rpm
Y por ltimo:
rpmbuild --rebuild --define "build_centos5 1" --define "build_mysql 1" --define "build_bat 1"
--define "build_wxconsole 1" bacula-docs-5.0.3-1.src.rpm
Tambin va consola se accede al directorio: /usr/src/redhat/RPMS/i386 para instalar los
paquetes, los cuales han sido creados adecuadamente para nuestro sistema, y que posee la
arquitectura i386.
cd /usr/src/redhat/RPMS/i386
Ejecute en dicho directorio los siguientes mandatos:
rpm -Uvh bacula-libs-5.0.3-1.i386.rpm
rpm -Uvh bacula-mysql-5.0.3-1.i386.rpm
rpm -Uvh bacula-bat-5.0.3-2.i386.rpm

Asignar los siguientes permisos a un fichero clave en Bacula:


chown bacula:bacula /usr/lib?/libbac-5.0.3.so
y se procede a crear el usuario llamado: bacula en la base de datos MySQL va phpmyadmin y
le asignamos contrasea.
Una vez creado el usuario de bacula, ejecute el siguiente mandato en la consola para
desplazarse al directorio:
cd /usr/lib/bacula/
Para modificar en los siguientes ficheros:
vi grant_mysql_privileges
vi create_mysql_database
vi make_mysql_tables

La lnea: if $bindir/mysql $* -u root -f <<END-OF-DATA


Por la lnea:
La lnea: if $bindir/mysql -p $* -u root -f <<END-OF-DATA
Una vez finalizado estos cambios,
cd /usr/lib/bacula/
ejecutar el siguientes script para agregar todos los privilegios al usuario bacula creado en la
base de datos MySQL:
./grant_mysql_privileges
Ejecutar un segundo Script para crear una nueva base de datos tambin de nombre bacula,
que ser utilizada por este servicio.
./create_mysql_database
Y el ltimo Script, escribir en la nueva base de datos las tablas necesarias para anotar los
parmetros ms importantes de este servicio
./make_mysql_tables
Una vez realizados estos pasos, bacula quedar instalado en el sistema. Pero, para el correcto
funcionamiento es necesario editar los ficheros de configuracin de cada uno de sus servicios.

Configuracin de Bacula.
Los ficheros de configuracin se encuentran en el directorio /etc/bacula/
El fichero del mdulo director es el llamado: bacula-dir.conf
La primera sesin es la llamada: Definicin del director, en la cual se definen ocho parmetros
fundamentales, y tiene una estructura como la siguiente:
###########################################################
### Director Definitions ###
###########################################################
Director {
# define myself
Name = centoserver04-dir
DIRport = 9101
# where we listen for UA connections
QueryFile = "/usr/lib/bacula/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 20
Password = "123456"
# Console password
Messages = Daemon
}
El primero de los parmetros es el llamado: Name
Una cadena de texto alfa numrica que definir el nombre del servicio director, y ser
empleado para la comunicacin exitosa con el resto de los mdulos.
El segundo parmetro es el llamado: DIRport
En este parmetro se indica por qu puerto se realizarn las comunicaciones con el director.
El sexto parmetro: Maximum Concurrent Jobs
Se le pase el valor del nmero de tareas simultneas que puede realizar el director.
El sptimo parmetro: Password
Se define la clave con la cual podrn comunicarse el resto de los servicios con el director.
El resto de los parmetros que no he mencionado es conveniente dejarlos tal cual estn.

Las prximas dos sesiones, corresponden a la configuracin de los trabajos de respaldo que se
definirn en Bacula, los cuales estn representados por las siguientes clases de funciones:
JobDefs y Job
La clase de fusin JobDefs, es simplemente una plantilla que agrupa parmetros a fines a tener
en cuenta para todos los clientes, como por ejemplo, el tipo de tarea que se llevar a cabo la
cual puede ser respaldar o restaurar los datos, el tipo de nivel en el caso de que se indique una
tarea de respaldo, y cmo explic anteriormente en la primera parte de este video, esta puede
corresponder a un respaldo total, diferencial o incremental. Veamos la estructura de esta clase
de funcin:
###########################################################
### Backup JobsDef##
###########################################################
JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Full
# Client = centoserver04-fd
# FileSet = "Full Set"
# Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = FullFile
# Priority = 1
# Write Bootstrap = "/var/lib/bacula/%c.bsr"
}
Aqu el parmetro: Name, indica el nombre que tendr la nueva funcin, o sea, el nombre con
que ser invocada nuestra plantilla, en lo adelante conocida como: DefaultJob.
El parmetro: Type, indica el tipo de tarea a realizar, por ejemplo: respaldo o restauracin, en
nuestro caso elegimos respaldo indicando valor: Backup.
El parmetro: Level, determina si el respaldo ser total, diferencial o incremental. Indicamos el
valor: Full.
El parmetro: Storage, define el medio de almacenamiento donde se guardarn todos los
resultados de las tareas realizadas. Especficamente hace referencia al servicio
almacenamiento, que se precisar debidamente en otra sesin de este fichero y en el de
configuracin para el servicio. Le pasaremos el nombre de la funcin: File, que se crear ms
adelante aqu en este mismo fichero. El parmetro: Pool, define a qu grupo de
almacenamiento lgico ser enviado el volumen resultante de esta tarea de respaldo.
Indicamos en nombre de la funcin: FullFile que an no hemos definido adecuadamente en
este fichero hasta llegar a su correspondiente sesin. El resto de los parmetros deben quedar
comentados o sus valores tienen que coincidir tal y como se muestran en este ejemplo.

La clase de funcin Job, se utiliza para configurar las tareas individuales de cada cliente, por lo
que debe existir una funcin por cada uno de los clientes que existan.
As que en esta seccin de configuracin lo que contendr ser una estructura como la que
sigue:
Job {
Name = "BackupCentoserver04"
JobDefs = "DefaultJob"
Write Bootstrap = "/var/lib/bacula/centoserver04.bsr"
Client = centoserver04-fd
FileSet = "centoserver04-FS"
Schedule = "centoserver04-SCH"
Maximum Concurrent Jobs = 20
Priority = 11
}
Esta es la primera definicin de una funcin de clase Job, cuyo nombre ser:
BackupCentoserver04, como se le ha indicado en el parmetro: Name. Y cuya labor ser llevar
a cabo la tarea de respaldo para el propio equipo servidor que interviene en este ejemplo.
El parmetro JobDefs, invoca a la funcin que ya hemos definido de nombre: DefaultJob, la
cual recordarn es una plantilla que colecciona una series de parmetros que se aplicarn a
todos los clientes por igula.
El siguiente parmetro: Write Bootstrap, se le debe indicar la ruta del archivo que usar
Bacula para restaurar a este cliente en particular.
El parmetro: Client, se le indica el nombre que tiene el cliente para el servicio de Bacula. Este
nombre se configura en este mismo fichero pero en otra seccin, y que de antemano se le
llamar: centoserver04-fd.
FileSet, se le pasa el nombre de una funcin que tendr el encargo de especificar que
directorios en el ordenador cliente se van a respaldar. Tambin, esta funcin se define en otra
seccin de este fichero.
Schedule, se le indica tambin, el nombre de una funcin que tendr una agenda de tareas
para ser ejecutadas automticamente.
El parmetro: Priority, indica el orden de prioridad que tiene esta tarea con respecto a las
dems, por lo que es aconsejable indicarle una prioridad distinta a cada cliente que se tenga.
En este ejemplo indicaremos el valor 11 y en lo adelante iremos incrementando este valor.
La siguiente funcin corresponde a la definicin de las tareas que sern ejecutadas en el
prximo cliente, concretamente en el ordenador de nombre estacion03, que emplearemos
para este ejemplo y cuyos parmetros se configuran idnticamente a cmo se realiz con
anterior funcin y de este mismo modo se irn creando sucesivamente funciones para tantos
clientes que existan en la red.
Job {

Name = "Backupestacion03"
JobDefs = "DefaultJob"
Write Bootstrap = "/var/lib/bacula/estacion04.bsr"
Client = estacion03-fd
FileSet = "estacion03-FS"
Schedule = " estacion03-SCH"
Maximum Concurrent Jobs = 20
Priority = 12
}
Una vez terminado de escribir las funciones para los clientes, se crea una ltima funcin para
que se encargue de algunos registros de la base de datos, la cual de ser posible recomiendo
que coincida totalmente con los parmetros que a continuacin se muestran. De todos modos,
la idea es la misma que las funciones anteriores.
# Backup the catalog database (after the nightly save)
Job {
Name = "BackupCatalog"
JobDefs = "DefaultJob"
Write Bootstrap = "/var/lib/bacula/catalog.bsr"
Client = CATALOG-FD
FileSet="CATALOG-FS"
Schedule = "CATALOG-SCH"
# This creates an ASCII copy of the catalog
# Arguments to make_catalog_backup.pl are:
# make_catalog_backup.pl
#RunBeforeJob = "/usr/lib/bacula/make_catalog_backup.pl MyCatalog"
# This deletes the copy of the catalog
#RunAfterJob = "/usr/lib/bacula/delete_catalog_backup"
Maximum Concurrent Jobs = 20
Priority = 13
}
La prxima sesin es donde se configuran las tareas de restauracin para los clientes, por lo
que sern del mismo tipo de funciones que acabamos de ver, slo con algunos cambios en los
valores de sus parmetros.
Es por ello, que se existe un determinado nmero de funciones para el respaldo de los clientes,
tambin tiene que existir la misma cantidad de funciones que realizan la restauracin de los
datos en el soporte fsico de cada cliente.
As que, similarmente a la sesin anterior, crearemos una funcin que no sirve de plantilla para
configurar algunos parmetros comunes entre los clientes.
###########################################################
### Restore Jobs ###
###########################################################

### Template ###


JobDefs {
Name = "RestoreFiles"
Type = Restore
Storage = File
Pool = FullFile
Messages = Standard
}
Por ejemplo, el tipo de tareas para esta sesin ser la restauracin de los archivos y directorios
en los clientes. Pasando del valor: "Restore" al parmetro:"Type".
Por supuesto que tambin se cambiara el nombre para poder invocar esta plantilla desde las
funciones Job, que crearemos a continuacin, el resto de los parmetros tienen los mismos
valores que definimos para la plantilla DefaulJob.
Ahora es el momento de crear las funciones de restauracin para todos los clientes:
Job {
Name = "RestoreCentoserver04"
JobDefs = "RestoreFiles"
Client = centoserver04-fd
FileSet = "centoserver04-FS"
Where = "/opt/restaurar/Centoserver04/"
}
Como pueden observar, se mantienen los mismos parmetros.
"Name": El nombre que tendr esta tarea para el cliente que se le pase como valor en el
parmetro "Client", y se realizar la labor de restauracin como bien se indic en la plantilla,
que ser invocada con el parmetro: "JobDefs".
Del mismo modo se seala cules son los directorios a respaldar mediante el parmetro:
"Fileset", cuando definamos los mismos para cada cliente las funciones que crearemos ms
adelante y que ahora llamaremos: Restorecentoserver04. Lo nico nuevo ser el parmetro
Where, al cual hay que pasarle la ruta del directorio en el ordenador cliente, donde se quiere
exportar los archivos de la restauracin. O sea, todo lo que respaldemos de un equipo cliente,
cuando se restauren sus copias de seguridad, aparecern todas estas copias, en el mismo
equipo cliente pero en la ruta que indiquemos en este parmetro.
La ruta que especificamos para nuestro servidor que corre el servicio de Bacula y a su vez el
mdulo cliente ser la siguiente: /opt/restaurar/Centoserver04/
Y para el cliente de estacin con plataforma Windows 7, este mismo parmetro tendr la ruta:
C:/RestaurarDatos/
Como se aprecia en la configuracin:

Job {
Name = " Restoreestacion03"
JobDefs = "RestoreFiles"
Client = estacion03-fd
FileSet = "estacion03-FS"
Where = "C:/RestaurarDatos/"
}
Job {
Name = "RestoreCATALOG"
JobDefs = "RestoreFiles"
Client = CATALOG-FD
FileSet = "CATALOG-FS"
Where = "/opt/restaurar/CATALOG/"
}
Por supuesto, dichos directores tienen que asistir con anterioridad, y si no es as, ahora es el
momento de crearlos.
La siguiente sesin corresponde a las declaraciones para las funciones de clase: FileSet,
quienes tienen el propsito de sealar los archivos y directorios para hacerles copias de
seguridad.
###########################################################
### File Set Definitions ###
###########################################################
FileSet {
Name = "centoserver04-FS"
Enable VSS = No
Include {
Options {
signature = MD5
compression = GZIP
}
#File = "/bin"
#File = "/boot"
#File = "/dev"
File = "/etc"
File = "/home"
File = "/lib"
#File = "/mnt"
File = "/root"
File = "/sbin"
#File = "/selinux"
#File = "/srv"
File = "/tmp"

File = "/usr"
File = "/var
}
}
Estas funciones tambin cuentan con el parmetro: "Name", que permite mostrar el nombre
que tendr estas funciones para cada cliente.
En esta funciones de clase FileSet, contienen dos funciones anidadas, las cuales son: "Include"
y "Options".
La funcin "Options", que se encuentra anidada dentro de la funcin "Include", definen el tipo
de encriptacin y de compresin que se aplicarn en el proceso de respaldo.
Por su parte, la funcin "Include", nos permite puntualizar que archivos y directorios vamos a
respaldar. Es muy importante que se detalle la ruta de cada directorio archivos por separados
y siguiendo formato que aqu se expone. Tambin existe otra funcin llamada: "Exclude", que
permite excluir archivos y directorios que se encuentren en las rutas que se han definido en la
fusin "Include", pero como no es de nuestro inters por el momento, no est reflejado en el
ejemplo. Una opcin muy importante y aplicable nicamente para las estaciones de Windows,
es el parmetro: Enable VSS, que al estar habilitado, realiza un respaldo de Windows en estos
ordenadores, haciendo uso de la utilera: "Shadow Copy", y al terminar se transfiere este
respaldo a Bacula. Aclaro, que debe habilitarse para todos los ordenadores de plataforma
Windows que sean clientes del servicio de respaldo.
FileSet {
Name = "estacion03-FS"
Enable VSS = Yes
Include {
Options {
signature = MD5
compression = GZIP
}
File = "C:/Archivos a respaldar/"
File = " C:/Archivos a respaldar/subcarpeta/"
}
}
Aqu apreciamos la definicin de la fusin "FileSet" para un ordenador de la plataforma de
Windows, donde habilitamos el parmetro " Enable VSS" indicndole valor de"Yes" y
asignndole las rutas de los directorios a respaldar.
Cuando acabemos de definir las funciones "FileSet" de todos los clientes del servicio de
respaldo en la red, terminamos esta sesin definiendo la funcin "FileSet" para el respaldo del
catlogo.

FileSet {
Name = "CATALOG-FS"
Enable VSS = No
Include {
Options {
signature = MD5
compression = GZIP
}
File = "/etc"
File = "/var/lib/bacula"
File = "/var/log"
}
}
En la siguiente sesin crearemos el calendario donde programaremos todas las tareas de
respaldo, y de esta forma Bacula realizar el trabajo automticamente en los das y los
horarios que la indiquemos en esta configuracin:
###########################################################
### Schedule Definitions ###
###########################################################
Schedule {
Name = "centoserver04-SCH"
Run = mon at 00:00
Run = Level = Differential Storage = File Pool = DiffFile tue-sun at 02:00
}
El parmetro: "Name", para esta primera funcin indica el nombre de la misma y cuya labor
ser programar las tareas de respaldo total o diferencial de nuestro servidor.
El parmetro: "Run", slo se le indica la hora o el da de la semana en la que Bacula iniciar a
correr las tareas que estn definidas por defecto, en nuestro caso el respaldo total o Full.
Cuando a este mismo parmetro se le indica un tipo de nivel distinto al que configuramos por
defecto, como por ejemplo el diferencial, acompaado del grupo de volmenes adecuado para
este tipo de nivel, en nuestro caso el Pool que corresponde a los volmenes diferenciales, se
realizar un respaldo diferencial a la hora del da o del rango de das, que estimemos
conveniente. En esta configuracin lo que se har en nuestro servidor, ser un respaldo total
todos los lunes a las cero horas y un respaldo diferencial de martes a domingo a partir de las
02 horas.
Schedule {
Name = "estacion03-SCH"
Run = mon at 04:00
Run = Level = Differential Storage = File Pool = DiffFile tue-sun at 06:30
}
Para el cliente de Windows, se realizar un respaldo total todos los lunes a las 04 horas y un
respaldo diferencial de martes a sbado a partir de las 03:30 horas

Schedule {
Name = "CATALOG-SCH"
Run = mon at 03:00
Run = Differential Pool = DiffFile tue-sat at 03:30
}
Pueden cambiar los parmetros de las horas y los das segn vuestra necesidad.
La prxima sesin es una de las ms importantes, porque en ella indicamos la configuracin
que cada cliente debe de tener para comunicarse con el servicio director de Bacula.
La estructura de la funcin: "Client", es la que sigue:
###########################################################
### Clients Definitions ###
###########################################################
Client {
Name = centoserver04-fd
Address = 192.168.1.3
FDPort = 9102
Catalog = MyCatalog
Password = "123456" # password for FileDaemon
File Retention = 30 days # 30 days
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
Maximum Concurrent Jobs = 20
}
El parmetro: "Name", es el nombre de la funcin, y tiene que coincidir totalmente con el que
indicamos anteriormente para la funcin "Job" del cliente.
El parmetro: "Address", se le pasa la direccin IP o el nombre del equipo si este pertenece a
una red con servicio de DNS.
El parmetro: "FDPort", es el puerto por donde los clientes se comunicarn con el director del
servicio Bacula.
El parmetro: "Password", contendr la clave con que se aceptar la conexin particular con
este cliente. Esta clave tiene que coincidir posteriormente con la que se define en el fichero de
configuracin del servicio cliente para el equipo a respaldar.
El parmetro: " File Retention", es el tiempo de espera para poder borrar la informacin
obsoleta de este cliente de la base de datos.
El parmetro: " Job Retention", es el tiempo de espera para borrar la informacin que
corresponde a las tareas definidas para cada cliente.
El parmetro: " AutoPrune", por la automticamente toda la informacin y respaldos
obsoletos tomando como referencia los valores de los anteriores parmetros.

El parmetro: Maximum Concurrent Jobs, nos pide el nmero de tareas que se realizarn
simultneamente.
As sucesivamente se van creando una funcin de esta clase para cada uno de los clientes:
Client {
Name = estacion03-fd
Address = 192.168.1.7
FDPort = 9102
Catalog = MyCatalog
Password = "123456"

# password for FileDaemon

File Retention = 30 days


Job Retention = 6 months

# 30 days
# six months

AutoPrune = yes
# Prune expired Jobs/Files
Maximum Concurrent Jobs = 20
}
Y al finalizar se agrega la ltima funcin para el cliente del catlogo:
Client {
Name = CATALOG-FD
Address = 192.168.1.3
FDPort = 9102
Catalog = MyCatalog
Password = "123456" # password for FileDaemon
File Retention = 30 days # 30 days
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
Maximum Concurrent Jobs = 20
}
Continuamos con la sesin de medios de almacenamientos, donde se le define al director
como se llevar a cabo la comunicacin con el mdulo del servicio de almacenamiento de
Bacula.
La funcin ser de clase "Storage", y para este ejemplo tendr la siguiente estructura:
###########################################################
### Storage Definitions ###

###########################################################
Storage {
Name = File
Address = 192.168.1.3 # N.B. Use a fully qualified name here
SDPort = 9103
Password = "123456"
Device = FileStorage
Media Type = File
Maximum Concurrent Jobs = 20
}
Como es evidente el parmetro: "Name", se dedicar al nombre para esta funcin.
En el parmetro: "Address", se le pasa la direccin IP o el nombre del equipo si este pertenece
a una red con servicio de DNS.
El parmetro: " SDPort", ser el puerto por donde se comunicar el director con el mdulo de
almacenamiento.
El parmetro: " Password", ser la clave que permitir el director se comunique con el mdulo
del servicio almacenamiento.
El parmetro: " Device", se le indica con qu funcin se comunicar el director cuando logre
conectar con el mdulo del servicio almacenamiento.
El parmetro: " Media Type", especifica el medio almacenamiento que maneja la funcin
invocada en el parmetro anterior.
El ltimo parmetro: " Maximum Concurrent Jobs", al igual que las otras funciones, indican el
nmero de tareas simultneas que realizar el director cuando se comunique con el mdulo
del servicio de almacenamiento.
Ahora tenemos que dejar claro como Bacula manejar la informacin en la base de datos. Lo
anterior se consigue creando la siguiente funcin:

###########################################################
### Catalog ###
###########################################################
Catalog {
Name = MyCatalog
# Uncomment the following line if you want the dbi driver

# dbdriver = "dbi:mysql"; dbaddress = 127.0.0.1; dbport =


dbname = "bacula"; dbuser = "bacula"; dbpassword = "123456"
}
Con esto creamos la funcin de clase " Catalog" que llamaremos: MyCatalog, que permitir
asignarle al director del servicio de respaldo, los privilegios de acceso a la base de datos
llamada "Bacula", indicndole al mismo, el nombre de usuario y contrasea con que debe
acceder.
Si el servicio de base de datos se encuentra en otro equipo de la red, un caso muy habitual en
la prctica, se tendra que aadir el parmetro:dbaddress con el valor de la correspondiente
direccin IP del equipo que corre el servicio de base de datos. Por tanto esta funcin quedara
de la siguiente forma:
Catalog {
Name = MyCatalog
# Uncomment the following line if you want the dbi driver
# dbdriver = "dbi:mysql"; dbaddress = 127.0.0.1; dbport =
dbname = "bacula"; dbaddress = 192.168.1.3; dbuser = "bacula"; dbpassword = "123456"
}
La siguiente seccin llamada Mensajes, es recomendable dejarla como esta, ya que bacula
enva todas las incidencias a Linux y lo replica en el fichero log de Bacula. Algunos errores muy
comunes en los reportes, es que no se puedan escribir estas incidencias en el este fichero de
log, el cual est relacionado con los permisos de escritura en el mismo, aunque esto no afecta
para nada el correcto funcionamiento de Bacula.
Continuamos con otra seccin que es la encargada de crear los grupos de contenedores de
volmenes, que hablamos de ellos en la primera parte de este video y que venimos vindolos
en varias funciones a lo largo de toda la configuracin.
Lo que haremos ser declarar dos funciones para la creacin de los dos contenedores de
volmenes que necesitamos uno para almacenar todos los volmenes correspondientes a los
respaldos totales o Full, y otro para los contener los volmenes de los respaldos
diferenciales, en lo adelante le llamaremos a estos contenedores Pools.

###########################################################
### Pools ###
###########################################################
### Full Files ###
Pool {
Name = FullFile
Maximum Volumes = 0
Pool Type = Backup

Use Volume Once = no


Maximum Volume Jobs = 8
Maximum Volume Files = 0
Maximum Volume Bytes = 0
Volume Use Duration = 0
Catalog Files = yes
AutoPrune = yes
Volume Retention = 56 days
Recycle Current Volume = no
Recycle = yes
Label Format = FullFile}
Lo anterior nos permite crear el Pool de nombre FullFile, que contendr todos los volmenes
resultante de los respaldos Full que se practiquen. Esto se consigue indicando el tipo de
contenedor agregando el valor Backup en el parmetro: Pool Type.
Tambin se pone configurar el nmero de tareas que se almacenarn en cada volumen, de
este modo, cuando se sobrepase la cantidad indicada, se cierra el volumen y se comienza
almacenar los respaldos en uno nuevo. Existen otras opciones muy tiles, o por ejemplo
indicar la cantidad de archivos para almacenar en cada volumen limitar el mismo a un tamao
especfico el nmero de bytes o almacenar todo lo que se quiere en dicho volumen durante un
tiempo cualquiera. Ninguna de estas soluciones la utilizaremos para este video, de modo que
las deshabilitaremos pasando el valor de "0" a sus correspondientes parmetros.
Para que la restauracin sea lo ms rpida posible, es recomendable que Bacula tanga algunos
registros en la base de datos con la informacin de todos los archivos que se han respaldado
en cada uno de los volmenes. Para llevar a cabo la anterior se habilita el parmetro: "Catalog
File" con el valor: "Yes"
El parmetro, "Label Format", aplicar el formato de salida que tendrn los nuevos volmenes
al ser creados.
Con estos mismos principios declararemos la segunda funcin de clase "Pool", para crear un
contenedor que aloje a todos los volmenes resultantes de los respaldos diferenciales. Esta
funcin tendr por nombre "DiffFile", o se puede llamar de cualquier modo, como todas las
anteriores.
Al igual que contenedor anterior el tipo ser de "Backup".
Pool {
Name = DiffFile
Pool Type = Backup
Use Volume Once = no
Maximum Volume Jobs = 24
Maximum Volume Files = 0
Maximum Volume Bytes = 0
Volume Use Duration = 0

Catalog Files = yes


Recycle = yes
AutoPrune = yes
Volume Retention = 56 days
Label Format = FileDiff}
# Scratch pool definition
Pool {
Name = Scratch
Pool Type = Backup
}
Por lo general, suele aplicarse un mayor nmero de tareas de respaldos diferenciales, que los
que se aplica de tipo "Full", con lo que hay que especificarle que contenga un nmero mayor
de volmenes. Y por ltimo aplicar un formato de salida para todos los nuevos volmenes.
Y para concluir la configuracin de este fichero, que de todos es el ms extenso, declararemos
la funcin de clase "Console", que es una funcin muy simple, que permitir la conexin del
mdulo consola que nos permitir la administracin de Bacula.
###########################################################
### Console ###
###########################################################
#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
Name = monitor-centoserver04
Password = "123456"
CommandACL = status, .status
}
En el parmetro: " Password" define la clave con que el servicio de consola autenticar con el
director. Mientras que el parmetro: "Name", contendr el nombre para esta funcin. Con
esto queda concluida la configuracin del fichero bacula-dir.conf y el resultado final ser el
siguiente:

/etc/bacula/bacula-dir.conf
###########################################################
### Director Definitions ###
###########################################################
Director {
# define myself
Name = centoserver04-dir
DIRport = 9101
# where we listen for UA connections

QueryFile = "/usr/lib/bacula/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 20
Password = "123456"
# Console password
Messages = Daemon
}
###########################################################
### Backup JobsDef##
###########################################################
JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Full
# Client = centoserver04-fd
# FileSet = "Full Set"
# Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = FullFile
# Priority = 1
# Write Bootstrap = "/var/lib/bacula/%c.bsr"
}
###########################################################
### Backup Job's Definitions ###
###########################################################
Job {
Name = "BackupCentoserver04"
JobDefs = "DefaultJob"
Write Bootstrap = "/var/lib/bacula/centoserver04.bsr"
Client = centoserver04-fd
FileSet = "centoserver04-FS"
Schedule = "centoserver04-SCH"
Maximum Concurrent Jobs = 20
Priority = 11
}
Job {
Name = "Backupestacion03"
JobDefs = "DefaultJob"
Write Bootstrap = "/var/lib/bacula/estacion04.bsr"
Client = estacion03-fd
FileSet = "estacion03-FS"
Schedule = " estacion03-SCH"

Maximum Concurrent Jobs = 20


Priority = 12
}
# Backup the catalog database (after the nightly save)
Job {
Name = "BackupCatalog"
JobDefs = "DefaultJob"
Write Bootstrap = "/var/lib/bacula/catalog.bsr"
Client = CATALOG-FD
FileSet="CATALOG-FS"
Schedule = "CATALOG-SCH"
# This creates an ASCII copy of the catalog
# Arguments to make_catalog_backup.pl are:
# make_catalog_backup.pl
#RunBeforeJob = "/usr/lib/bacula/make_catalog_backup.pl MyCatalog"
# This deletes the copy of the catalog
#RunAfterJob = "/usr/lib/bacula/delete_catalog_backup"
Maximum Concurrent Jobs = 20
Priority = 13
}
###########################################################
### Restore Jobs ###
###########################################################
### Template ###
JobDefs {
Name = "RestoreFiles"
Type = Restore
Storage = File
Pool = FullFile
Messages = Standard
}
Job {
Name = "RestoreCentoserver04"
JobDefs = "RestoreFiles"
Client = centoserver04-fd
FileSet = "centoserver04-FS"
Where = "/opt/restaurar/Centoserver04/"
}
Job {
Name = " Restoreestacion03"
JobDefs = "RestoreFiles"
Client = estacion03-fd
FileSet = "estacion03-FS"
Where = "C:/RestaurarDatos/"

}
Job {
Name = "RestoreCATALOG"
JobDefs = "RestoreFiles"
Client = CATALOG-FD
FileSet = "CATALOG-FS"
Where = "/opt/restaurar/CATALOG/"
}
###########################################################
### File Set Definitions ###
###########################################################
FileSet {
Name = "centoserver04-FS"
Enable VSS = No
Include {
Options {
signature = MD5
compression = GZIP
}
#File = "/bin"
#File = "/boot"
#File = "/dev"
File = "/etc"
File = "/home"
File = "/lib"
#File = "/mnt"
File = "/root"
File = "/sbin"
#File = "/selinux"
#File = "/srv"
File = "/tmp"
File = "/usr"
File = "/var
}
}

FileSet {
Name = "estacion03-FS"
Enable VSS = Yes
Include {
Options {
signature = MD5
compression = GZIP
}

File = "C:/Archivos a respaldar/"


File = "C:/Archivos a respaldar/subcarpeta/"
}
}
FileSet {
Name = "CATALOG-FS"
Enable VSS = No
Include {
Options {
signature = MD5
compression = GZIP
}
File = "/etc"
File = "/var/lib/bacula"
File = "/var/log"
}
}
###########################################################
### Schedule Definitions ###
###########################################################
Schedule {
Name = "centoserver04-SCH"
Run = mon at 00:00
Run = Level = Differential Storage = File Pool = DiffFile tue-sun at 02:00
}
Schedule {
Name = "estacion03-SCH"
Run = mon at 04:00
Run = Level = Differential Storage = File Pool = DiffFile tue-sun at 06:30
}
Schedule {
Name = "CATALOG-SCH"
Run = mon at 03:00
Run = Differential Pool = DiffFile tue-sat at 03:30
}
###########################################################
### Clients Definitions ###
###########################################################
Client {
Name = centoserver04-fd
Address = 192.168.1.3
FDPort = 9102
Catalog = MyCatalog

Password = "123456" # password for FileDaemon


File Retention = 30 days # 30 days
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
Maximum Concurrent Jobs = 20
}
Client {
Name = CATALOG-FD
Address = 192.168.1.3
FDPort = 9102
Catalog = MyCatalog
Password = "123456" # password for FileDaemon
File Retention = 30 days # 30 days
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
Maximum Concurrent Jobs = 20
}
Client {
Name = estacion03-fd
Address = 192.168.1.7
FDPort = 9102
Catalog = MyCatalog
Password = "123456" # password for FileDaemon
File Retention = 30 days
# 30 days
Job Retention = 6 months
# six months
AutoPrune = yes
# Prune expired Jobs/Files
Maximum Concurrent Jobs = 20
}
###########################################################
### Storage Definitions ###
###########################################################
Storage {
Name = File
Address = 192.168.1.3 # N.B. Use a fully qualified name here
SDPort = 9103
Password = "123456"
Device = FileStorage
Media Type = File
Maximum Concurrent Jobs = 20
}
###########################################################
### Catalog ###
###########################################################
Catalog {
Name = MyCatalog

# Uncomment the following line if you want the dbi driver


# dbdriver = "dbi:mysql"; dbaddress = 127.0.0.1; dbport =
dbname = "bacula"; dbuser = "bacula"; dbpassword = "123456"
}
###########################################################
### Message Definitions ###
###########################################################
Messages {
Name = Standard
mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c
%l\" %r"
operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula:
Intervention needed for %j\" %r"
mail = root@localhost = all, !skipped
operator = root@localhost = mount
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
catalog = all
}
Messages {
Name = Daemon
mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon
message\" %r"
mail = root@localhost = all, !skipped
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
}
###########################################################
### Pools ###
###########################################################
### Full Files ###
Pool {
Name = FullFile
Maximum Volumes = 0
Pool Type = Backup
Use Volume Once = no
Maximum Volume Jobs = 8
Maximum Volume Files = 0
Maximum Volume Bytes = 0
Volume Use Duration = 0
Catalog Files = yes
AutoPrune = yes
Volume Retention = 56 days
Recycle Current Volume = no
Recycle = yes

Label Format = FullFile}


Pool {
Name = DiffFile
Pool Type = Backup
Use Volume Once = no
Maximum Volume Jobs = 24
Maximum Volume Files = 0
Maximum Volume Bytes = 0
Volume Use Duration = 0
Catalog Files = yes
Recycle = yes
AutoPrune = yes
Volume Retention = 56 days
Label Format = FileDiff}
# Scratch pool definition
Pool {
Name = Scratch
Pool Type = Backup
}
###########################################################
### Console ###
###########################################################
#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
Name = monitor-centoserver04
Password = "123456"
CommandACL = status, .status
}

La configuracin del resto de los ficheros que es muy simple y fcil en comparacin con el del
director, as que empezaremos primero por el fichero del mdulo cliente del equipo servidor:
Director {
Name = centoserver04-dir
Password = "123456"
}
Aqu se expresan el nombre y la clave con que se autenticar el director con este servicio.

Director {
Name = monitor-centoserver04
Password = "123456"
Monitor = yes
}
Se le define adems, el nombre y la clave para que el director pueda monitorizar y consultar
todas las tareas que se realizan en este cliente por medio del servicio consola.
FileDaemon {
# this is me
Name = centoserver04-fd
FDport = 9102
# where we listen for the director
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run
Maximum Concurrent Jobs = 20
}
Los anteriores parmetros definen el nombre de este servicio y por qu puerto se comunicar
con el servicio director.
Messages {
Name = Standard
director = centoserver04-dir = all, !skipped, !restored
}
Lo anterior indica que todos los mensajes se le haga llegar al director de Bacula.
El resultado es el siguiente fichero:
Ruta: /etc/bacula/bacula-fd.conf
# Default Bacula File Daemon Configuration file
# For Bacula release 5.0.3 (30 August 2010) -- redhat
# There is not much to change here except perhaps the
# File daemon Name to
# List Directors who are permitted to contact this File daemon
Director {
Name = centoserver04-dir
Password = "123456"
}
#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
Director {
Name = monitor-centoserver04

Password = "123456"
Monitor = yes
}
#
# "Global" File daemon configuration specifications
#
FileDaemon {
# this is me
Name = centoserver04-fd
FDport = 9102
# where we listen for the director
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run
Maximum Concurrent Jobs = 20
}
# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = centoserver04-dir = all, !skipped, !restored
}
De la misma manera se procede a configurar todos los ficheros de configuracin de este
servicio en los equipos clientes. Por ejemplo en nuestra estacin de Windows 7, el cliente para
bacula se instalara automticamente en la ruta: " C:\Program Files\Bacula ".
Aqu encontraramos varios archivos dentro de los cuales encontraramos este: "baculafd.con".
El tercer fichero a configurar corresponde al servicio de almacenamiento de Bacula que se
encuentra en el equipo que almacenar todas las copias de seguridad, en nuestro caso, el
propio equipo servidor.
Storage {
# definition of myself
Name = centoserver04-sd
SDPort = 9103
# Director's port
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 20
}
Director {
Name = centoserver04-dir
Password = "123456"
}
Director {
Name = monitor-centoserver04
Password = "123456"

Monitor = yes
}
Hasta aqu se configuran algunos parmetros exactamente igual a como se realiz en los
ficheros de los clientes. Se indica el nombre del servicio, el puerto, nombre y clave que usar
para comunicarse con el servicio director de Bacula, pero se aade la informacin del medio
de almacenamiento para guardar todos los respaldos.
Device {
Name = FileStorage
Media Type = File
Archive Device = /opt/backups
LabelMedia = yes;
# lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes;
# when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}
Se le da un nombre al dispositivo en el parmetro: "Name", que tiene que coincidir con el valor
que se le paso al parmetro "Device" en la sesin medios de almacenamiento, en el fichero
para la configuracin del director de Bacula.
Del mismo modo, parmetro: "Media Type", tiene que coincidir con el nombre de la funcin
que se declar en la propia sesin medios de almacenamiento en el fichero para la
configuracin del director de Bacula.
En el parmetro "Dispositivo de Archivo", se le indica la ruta de un directorio o de un medio
fsico instalado en el equipo como por ejemplo un disco duro.
El resto de los parmetros mantienen los valores que aqu en este ejemplo se muestran.Y por
ltimo que todos los mensajes que se generen sean enviados al servicio director de Bacula.
Messages {
Name = Standard
director = centoserver01-dir = all
}
A continuacin se muestra lo que tendramos exactamente en este fichero:
Ruta: /etc/bacula/ bacula-sd.conf
# Default Bacula Storage Daemon Configuration file
#
# For Bacula release 5.0.3 (30 August 2010) -- redhat
#
# You may need to change the name of your tape drive
# on the "Archive Device" directive in the Device
# resource. If you change the Name and/or the
# "Media Type" in the Device resource, please ensure

# that dird.conf has corresponding changes.


#
Storage {
# definition of myself
Name = centoserver04-sd
SDPort = 9103
# Director's port
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 20
}
# List Directors who are permitted to contact Storage daemon
Director {
Name = centoserver04-dir
Password = "123456"
}
# Restricted Director, used by tray-monitor to get the
# status of the storage daemon
Director {
Name = monitor-centoserver04
Password = "123456"
Monitor = yes
}
# Note, for a list of additional Device templates please
# see the directory <bacula-source>/examples/devices
# Or follow the following link:
# http://bacula.svn.sourceforge.net/viewvc/bacula/trunk/bacula/examples/devices/
# Devices supported by this Storage daemon
# To connect, the Director's bacula-dir.conf must have the
# same Name and MediaType.
Device {
Name = FileStorage
Media Type = File
Archive Device = /opt/backups
LabelMedia = yes;
# lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes;
# when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}
# An autochanger device with two drives
#Autochanger {
# Name = Autochanger
# Device = Drive-1
# Device = Drive-2
# Changer Command = "/usr/lib/bacula/mtx-changer %c %o %S %a %d"
# Changer Device = /dev/sg0

#}
#Device {
# Name = Drive-1
#
# Drive Index = 0
# Media Type = DLT-8000
# Archive Device = /dev/nst0
# AutomaticMount = yes;
# when device opened, read it
# AlwaysOpen = yes;
# RemovableMedia = yes;
# RandomAccess = no;
# AutoChanger = yes
# #
# # Enable the Alert command only if you have the mtx package loaded
# # Note, apparently on some systems, tapeinfo resets the SCSI controller
# # thus if you turn this on, make sure it does not reset your SCSI
# # controller. I have never had any problems, and smartctl does
# # not seem to cause such problems.
# #
# Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
# If you have smartctl, enable this, it has more info than tapeinfo
# Alert Command = "sh -c 'smartctl -H -l error %c'"
#}
#Device {
# Name = Drive-2
#
# Drive Index = 1
# Media Type = DLT-8000
# Archive Device = /dev/nst1
# AutomaticMount = yes;
# when device opened, read it
# AlwaysOpen = yes;
# RemovableMedia = yes;
# RandomAccess = no;
# AutoChanger = yes
# # Enable the Alert command only if you have the mtx package loaded
# Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
# If you have smartctl, enable this, it has more info than tapeinfo
# Alert Command = "sh -c 'smartctl -H -l error %c'"
#}
#
# A Linux or Solaris LTO-2 tape drive
#
#Device {
# Name = LTO-2
# Media Type = LTO-2
# Archive Device = /dev/nst0

# AutomaticMount = yes;
# when device opened, read it
# AlwaysOpen = yes;
# RemovableMedia = yes;
# RandomAccess = no;
# Maximum File Size = 3GB
## Changer Command = "/usr/lib/bacula/mtx-changer %c %o %S %a %d"
## Changer Device = /dev/sg0
## AutoChanger = yes
# # Enable the Alert command only if you have the mtx package loaded
## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
## If you have smartctl, enable this, it has more info than tapeinfo
## Alert Command = "sh -c 'smartctl -H -l error %c'"
#}
# A Linux or Solaris LTO-3 tape drive
#Device {
# Name = LTO-3
# Media Type = LTO-3
# Archive Device = /dev/nst0
# AutomaticMount = yes;
# when device opened, read it
# AlwaysOpen = yes;
# RemovableMedia = yes;
# RandomAccess = no;
# Maximum File Size = 4GB
## Changer Command = "/usr/lib/bacula/mtx-changer %c %o %S %a %d"
## Changer Device = /dev/sg0
## AutoChanger = yes
# # Enable the Alert command only if you have the mtx package loaded
## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
## If you have smartctl, enable this, it has more info than tapeinfo
## Alert Command = "sh -c 'smartctl -H -l error %c'"
#}
# A Linux or Solaris LTO-4 tape drive
#Device {
# Name = LTO-4
# Media Type = LTO-4
# Archive Device = /dev/nst0
# AutomaticMount = yes;
# when device opened, read it
# AlwaysOpen = yes;
# RemovableMedia = yes;
# RandomAccess = no;
# Maximum File Size = 5GB
## Changer Command = "/usr/lib/bacula/mtx-changer %c %o %S %a %d"
## Changer Device = /dev/sg0
## AutoChanger = yes
# # Enable the Alert command only if you have the mtx package loaded

## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"


## If you have smartctl, enable this, it has more info than tapeinfo
## Alert Command = "sh -c 'smartctl -H -l error %c'"
#}
# A FreeBSD tape drive
#Device {
# Name = DDS-4
# Description = "DDS-4 for FreeBSD"
# Media Type = DDS-4
# Archive Device = /dev/nsa1
# AutomaticMount = yes;
# when device opened, read it
# AlwaysOpen = yes
# Offline On Unmount = no
# Hardware End of Medium = no
# BSF at EOM = yes
# Backward Space Record = no
# Fast Forward Space File = no
# TWO EOF = yes
# If you have smartctl, enable this, it has more info than tapeinfo
# Alert Command = "sh -c 'smartctl -H -l error %c'"
#}
# Send all messages to the Director,
# mount messages also are sent to the email address
Messages {
Name = Standard
director = centoserver04-dir = all
}

Pasaremos a editar el fichero de configuracin de la consola para este servicio de Bacula, el


cual es an ms sencillo, porque slo tendremos que indicar el nombre del servicio director, la
clave, la direccin IP que tiene el director en la red y por qu puerto del mismo se comunicara.
Director {
Name = centoserver04-dir
DIRport = 9101
address = 192.168.1.3
Password = "123456"
}
El fichero quedara de la siente forma:

Ruta: /etc/bacula/bconsole.conf
# Bacula User Agent (or Console) Configuration File
Director {
Name = centoserver04-dir
DIRport = 9101
address = 192.168.1.3
Password = "123456"
}
En aquellos casos en que algunos equipos clientes se hayan instalados este mdulo de consola
por razones meramente administrativas, se agrega exactamente lo anterior.
Existe adems un fichero que configura la administracin grfica de los servicios de Bacula,
llamado: "bat.conf", que se encuentra en el directorio de instalacin de Bacula en nuestro
servidor o en aquellos equipos clientes que tambin se haya decidido instalar esta
herramienta.
El contenido es el mismo que el fichero de configuracin de consola. Aqu pueden ver la
configuracin de este fichero:
# Bacula Administration Tool (bat) configuration file
Director {
Name = centoserver04-dir
DIRport = 9101
address = 192.168.1.3
Password = "123456"
}
Antes de iniciar por primera vez los servicios de Bacula en el servidor, es muy importante
conocer si existe algn error en la sintaxis de estos ficheros. Para ello abrimos el terminal de
consola y ejecutaremos los siguientes mandatos:
bconsole -t -c /etc/bacula/bconsole.conf
bacula-sd -t -c /etc/bacula/bacula-sd.conf
bacula-fd -t -c /etc/bacula/bacula-fd.conf
bacula-dir -t -c /etc/bacula/bacula-dir.conf
Si devuelve un resultado, es porque algo va mal e indica el nmero de la lnea que contiene el
error.
Para iniciar por primera vez estos servicios se ejecutan las siguientes lneas:
service bacula-sd start
service bacula-fd start
service bacula-dir start
Para reiniciarlos podemos ejecutar lo siguiente:

service bacula-sd restart


service bacula-fd restart
service bacula-dir restart
Y para qu estos servicios se inicien automticamente al arranque del sistema, se ejecutan las
siguientes lneas:
chkconfig bacula-sd on
chkconfig bacula-fd on
chkconfig bacula-dir on
Con todo lo anterior Bacula queda correctamente configurado, funcionar sin ningn tipo de
problemas y ejecutar automticamente las tareas de respaldos que se hayan definido en su
configuracin.

Por favor, para ms informacin visite: http://www.samvar.es/index.php/videosherramientas-de-administracion

Potrebbero piacerti anche