Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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:
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
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
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 ###
###########################################################
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"
# 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
###########################################################
### Pools ###
###########################################################
### Full Files ###
Pool {
Name = FullFile
Maximum Volumes = 0
Pool Type = Backup
/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"
}
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
}
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
#}
#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
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: