You are on page 1of 27

2014/07/15 16:36 1/27 Instalao e Configurao do Bacula no Debian Squeeze

Douglas Quintiliano dos Santos - http://douglas.wiki.br/


Instalao e Configurao do Bacula no Debian Squeeze
Disco de 100GB para os backups
I
ip do servidor: 192.168.0.80
I
Prepare o seu sistema com o seguinte script http://www.douglas.wiki.br/doku.php?id=confinicialsqueeze para
que no falte nenhum pacote ou configurao.
Vamos ajustar o hosts
vim /etc/hosts
127.0.0.1 localhost
192.168.0.80 bacula.douglas.wiki.br bacula
[...]
Vamos instalar os pr-requisitos para podermos compilar o bacula
aptitude install libreadline-dev libreadline6-dev postgresql postgresql-client postgresql-common
postgresql-contrib \
postgresql-doc postgresql-server-dev-all postgresql-server-dev-8.4 libreadline6-dev libreadline6
lib32readline6 lib32readline6-dev -y
Agora vamos ajustar o acesso ao postgresql
sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /etc/postgresql/8.4/main/
postgresql.conf
Agora precisamos reiniciar o postgresql
/etc/init.d/postgresql restart
Agora vamos criar um arquivo para importar para preparar a base para o bacula
vim /tmp/base.sql
ALTER USER postgres WITH PASSWORD 'senha';
CREATE USER bacula WITH PASSWORD 'senha';
CREATE DATABASE bacula WITH OWNER bacula ENCODING 'SQL_ASCII' TEMPLATE=template0;
Agora precisamos importar a base
su postgres -c 'psql -f /tmp/base.sql'
Agora vamos criar os diretrios para o bacula
mkdir /var/lib/bacula
mkdir /var/run/bacula
mkdir /var/log/bacula
mkdir -p /etc/bacula/scripts
Agora vamos criar o usurio bacula
useradd -s /bin/bash -d /var/lib/bacula bacula
Agora vamos ajustar as permisses dos diretrios
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
chown -R bacula:bacula /var/lib/bacula /var/run/bacula /var/log/bacula /etc/bacula
Agora vamos obter o pacote do bacula
cd /usr/src
wget -c http://www.douglas.wiki.br/Downloads/misc/bacula-5.2.13.tar.gz
Agora vamos desempacotar o bacula
tar -xzvf bacula-5.2.13.tar.gz
Agora vamos acessar a pasta do bacula
cd bacula-5.2.13/
Agora vamos preparar o pacote do bacula
CFLAGS="-g -Wall" ./configure --enable-smartalloc --with-postgresql --with-db-name=bacula
--with-db-user=bacula --with-db-password=senha --with-db-port=5432 --with-working-dir=/var/lib/bacula
--with-pid-dir=/var/run/bacula --with-logdir=/var/log/bacula --with-readline=/usr/include/readline
--disable-conio --with-scriptdir=/etc/bacula/scripts
Agora vamos mandar compilar o bacula
make
Agora vamos mandar instalar o bacula
make install
Agora vamos mandar instalar os binrios de inicializao do bacula
make install-autostart
Agora vamos ajustar as permisses dos arquivos
chown -R bacula:bacula /etc/bacula
Agora vamos preparar o banco de dados para o bacula
su - bacula -c '/etc/bacula/scripts/make_postgresql_tables -U bacula -d bacula'
Agora vamos desabilitar o shell do bacula
usermod -s /bin/false bacula
Agora vamos fazer o backup dos arquivos de configurao do bacula
mkdir /usr/src/olds
cp -Rfa /etc/bacula /usr/src/olds
Agora vamos deixar o arquivo do director do bacula da seguinte forma
2014/07/15 16:36 3/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
vim /etc/bacula/bacula-dir.conf
############################################
# ARQUIVO DE CONFIGURACAO PADRAO DO BACULA #
############################################

# DEFININDO O 'DIRECTOR' #

Director {
Name = bacula-dir
DIRport = 9101 # Porta de Comunicacao do Bacula
QueryFile = "/etc/bacula/scripts/query.sql" # Script de Query
WorkingDirectory = "/var/lib/bacula" # Diretrio de Trabalho do Bacula
PidDirectory = "/var/run/bacula" # PID do Bacula
Maximum Concurrent Jobs = 1 # Maximo de Backups em Execucao
Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3L" # Senha para ajustar no Bconsole
Messages = Daemon # Nivel de mensagens
}

# DEFINICOES DE CLIENTES E JOBS #
# ARQUIVO ONDE SERA CONFIGURADO E AJUSTADO OS CLIENTES E JOBS DO BACULA #

@/etc/bacula/bacula-dir-clients-and-jobs.conf

# DEFINICOES DE ARQUIVOS PARA BACKUP - (FILE SETS)#
# ARQUIVO ONDE SERA CONFIGURADO E AJUSTADO OS 'FILE SETS' DO BACULA #

@/etc/bacula/bacula-dir-filesets.conf


# DEFINICOES DE AGENDAMENTO DOS BACKUPS #
@/etc/bacula/bacula-dir-agendamento.conf


# DEFINICOES DE DISPOSITIVO DE ARMAZENAMENTO #
# AQUI DEFINIMOS O STORAGE A SER UTILIZADO PELO BACULA #


Storage {
Name = File
Address = bacula.douglas.wiki.br # Pode ser usado Nome ou IP
SDPort = 9103 # Porta de Comunicao do Storage
Password = "LE_T_-c_55qu1f777Dm52map-s3xpgR4q" # Senha Storage Bacula
Device = FileStorage # Device de Storage
Media Type = File # Tipo de Midia (Fita, DVD, HD)
Maximum Concurrent Jobs = 10 # Num. Maximo de Jobs executados nessa Storage.
}

# Generic catalog service
Catalog {
Name = Catalogo # Nome do Catalogo
dbname = "bacula"; dbaddress = 127.0.0.1; dbuser = "bacula"; dbpassword = "senha" # Configuracoes
do PostGreSQL
}

# Reasonable message delivery -- send most everything to email address
# and to the console
Messages {
Name = Standard

# ABAIXO E POSSIVEL AJUSTAR COMO O BACULA ENVIARA MENSAGENS AO ADMINISTRADOR #

mailcommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r"
operatorcommand = "/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/log/bacula/bacula.log" = all, !skipped
catalog = all
}
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36

# Message delivery for daemon messages (no job).
Messages {
Name = Daemon
mailcommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
mail = root@localhost = all, !skipped
console = all, !skipped, !saved
append = "/var/log/bacula/bacula.log" = all, !skipped
}

# POOL PADRAO DEFINIDO
Pool {
Name = File # o Job de Backup por padrao aponta para o 'File'
Pool Type = Backup # O Tipo do Pool = Backup, Restore, Etc.
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 1 month # Retencao de Volume = 1 Mes
Volume Use Duration = 23 hours # Duracao de um volume aberto
Maximum Volume Bytes = 20 Gb # Tamanho maximo de um volume
Maximum Volumes = 10 # Volume Bytes X Volumes <= Dispositivo de backup
LabelFormat = "volume" # Nome Default do Volume
}


# Scratch pool definition
# Volumes que serao emprestado a alguma Pool temporariamente
Pool {
Name = Scratch
Pool Type = Backup
}

#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
Name = bacula-mon
Password = "aNy+nof5uHWBvO3tv8YRy5OJo3YVDsuAuET06WRmDcuw"
CommandACL = status, .status
}
Agora vamos criar o arquivo que controla os agendamentos do bacula
vim /etc/bacula/bacula-dir-agendamento.conf
#################################################################
## ARQUIVO DE CONFIGURACAO DE AGENDAMENTO DE TAREFAS DO BACULA ##
#################################################################
# DEFINICOES DE AGENDAMENTO DOS BACKUPS #

# AGENDAMENTO PADRAO DO BACULA - CICLO SEMANAL DE BACKUP #
Schedule {
Name = "WeeklyCycle" # Ciclo Semanal de Backup
Run = Level=Full 1st sun at 23:05 # Backup Full no Primeiro Domingo do Mes as 23:05
hrs
Run = Level=Differential 2nd-5th sun at 16:50 # Backup Diferencial de Seg. a Sabado as 23:05
hrs
Run = Level=Incremental mon-sat at 10:30 # Backup Incremental de Seg. a Sabado as 23:05
hrs
}

# AGENDAMENTO PARA SERVIDOR LINUX - CICLO SEMANAL DE BACKUP #
Schedule {
Name = "CicloBackupProxy"
Run = Level=Full 1st sun at 23:00
Run = Level=Full mon-sat at 10:00
}

# AGENDAMENTO PARA SERVIDOR WINDOWS SERVER - CICLO SEMANAL DE BACKUP #
2014/07/15 16:36 5/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
Schedule {
Name = "CicloBackupWindows" # Ciclo Semanal de Backup
Run = Level=Full 1st sun at 23:00 # Backup Full no Primeiro Domingo do Mes
as 23:05 hrs
Run = Level=Differential 2nd-5th sun at 14:10 # Backup Diferencial de Seg. a Sabado as
11:40 hrs
Run = Level=Full mon-sat at 10:00 # Backup Incremental de Seg. a Sabado as
11:25
}

# DEFINICOES DE AGENDAMENTO DO BACKUP DOS CATALOGOS #
# FEITO SEMPRE DEPOIS DOS BACKUPS #
Schedule {
Name = "WeeklyCycleAfterBackup"
Run = Level=Full sun-sat at 09:15
}
Agora vamos criar o arquivo de controle dos clientes do bacula e jobs do bacula
vim /etc/bacula/bacula-dir-clients-and-jobs.conf
###################################################
## ARQUIVO DE CONFIGURACAO PARA CLIENTES E JOBS ##
###################################################

# JOB PADRAO PARA O BACULA SERVER #
JobDefs {
Name = "DefaultJobs" # Nome do Job Padrao
Type = Backup # Tipo de Job (Backup, Restore, Verificacao)
Level = Incremental # Nivel do Job (Full, Incremental, Diferencial)
Client = bacula-fd # Nome do Cliente FD
FileSet = "Full Set" # File Set Definido para Esse Job
Schedule = "WeeklyCycle" # Agendamento Definido para Esse Job
Storage = File # Define Storage
Messages = Standard # Nivel de mensagens
Pool = File # Define a Pool
Priority = 10 # Qual o nivel de Prioridade
Write Bootstrap = "/var/lib/bacula/%c.bsr" # Arquivo gerado pelo Bacula para armazenar
informacoes de backups feitos em seus clientes.
# AS OPCOES ABAIXO EVITAM QUE SEJAM DUPLICADO JOBS NO SERVIDOR, CASO TENHA UM JOB DUPLICADO O MESMO E
CANCELADO
Allow Duplicate Jobs = no # Permite Jobs Duplicados
Cancel Lower Level Duplicates = yes # Cancela niveis inferiores duplicados
}

# JOB DE BACKUP PARA OS SERVIDORES WINDOWS SERVER #
JobDefs {
Name = "DefaultWindows" # Nome do Job Para Servidores Windows
Type = Backup # Tipo de Job (Backup, Restore, Verificacao)
Level = Incremental # Nivel do Job (Full, Incremental, Diferencial)
Client = bacula-fd # Nome do Cliente FD
FileSet = "WindowsFS" # File Set Definido para Esse Job
Schedule = "CicloBackupWindows" # Agendamento Definido para Esse Job
Storage = File # Define Storage
Messages = Standard # Nivel de mensagens
Pool = File # Define a Pool
Priority = 10 # Qual o nivel de Prioridade
Write Bootstrap = "/var/lib/bacula/%c.bsr" # Arquivo gerado pelo Bacula para armazenar
informacoes de backups feitos em seus clientes.
# AS OPCOES ABAIXO EVITAM QUE SEJAM DUPLICADO JOBS NO SERVIDOR, CASO TENHA UM JOB DUPLICADO O MESMO E
CANCELADO
Allow Duplicate Jobs = no # Permite Jobs Duplicados
Cancel Lower Level Duplicates = yes # Cancela niveis inferiores duplicados
}

# JOB DE BACKUP DO CATALOGO #
Job {
Name = "BackupCatalogo" # Nome do Job Para
Backup do Catalogo
JobDefs = "DefaultJobs" # JobDefs usado para
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
operacao
Level = Full # Nivel do Job (Full,
Incremental, Diferencial)
FileSet = "Catalogo" # File Set Definido
para Esse Job
Schedule = "WeeklyCycleAfterBackup" # Agendamento
Definido para Esse Job
RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl Catalogo" # Acao executada
antes da operacao
Write Bootstrap = "/var/lib/bacula/%c.bsr" # Arquivo gerado
pelo Bacula para armazenar informacoes de backups feitos em seus clientes.
Priority = 11 # Executar depois do
Backup - ajustar prioridade
}

# JOB DE RESTAURACAO - (RESTORE) - SO E PRECISO ESSE JOBS PARA RESTAURACAO DE BACKUP #
Job {
Name = "RestoreFiles" # Nome do Job Para
Restore
Type = Restore # Tipo de Job (Backup,
Restore, Verificacao)
Client = bacula-fd # Nome do Cliente FD
FileSet = "Full Set" # File Set Definido para
Esse Job
Storage = File # Agendamento Definido
para Esse Job
Pool = File # Define a Pool
Messages = Standard # Nivel de mensagens
Where = /tmp/bacula-restores # Diretorio onde o bacula
ira restaurar os arquivos nos clientes
}

#######################################################################
## AQUI VAMOS DEFINIR OS CLIENTES E JOBS PARA CADA CLIENTE ADICIONADO #
#######################################################################

## ------------------------------------------------------------------- ##
# JOB DE BACKUP PARA O DIRECTOR DO BACULA
# HOSTNAME: bacula.douglas.wiki.br
# IP: 192.168.0.80

Job {
Name = "BackupDirector" # Nome do Job para Backup do Director
(Proprio Servidor Bacula)
JobDefs = "DefaultJobs" # JObDefs Definido
Client = bacula-fd # Cliente fd
}

Client {
Name = bacula-fd # Cliente fd
Address = bacula.douglas.wiki.br # Ajustado no /etc/hosts
Password = "ExgYbEinJWMf7lsWPBcpffZaNMmiGcbgp" # Senha do Director do Bacula
@/etc/bacula/clientes/basic-client # Arquivo onde contem informacoes sobre o cliente.
}
## -------------------------------------------------------------------- ##
Agora vamos criar o arquivo que define o que vamos copiar dos clientes
vim /etc/bacula/bacula-dir-filesets.conf
###################################################
## ARQUIVO DE CONFIGURACAO PARA CLIENTES E JOBS ##
###################################################

# LISTA DOS ARQUIVOS QUE SERAO COPIADOS

FileSet {
Name = "Full Set" # Nome do FileSets
2014/07/15 16:36 7/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
# Arquivos que serao incluidos para serem copiados ao backup
Include {
Options {
signature = SHA1
compression = GZIP
verify = pin1
onefs = no
}
File = /etc
File = /root
File = /var/log
File = /var/www
File = /home
File = /usr/sbin
File = /etc/bacula/
}
# Arquivos que serao ignorados ao backup
Exclude {
File = /var/lib/bacula
File = /proc
File = /tmp
File = /.journal
File = /.fsck
}
}

# LISTA DOS ARQUIVOS QUE SERAO COPIADOS - CATALOGO #

FileSet {
Name = "Catalogo"
# Arquivos que serao incluidos para serem copiados ao backup
Include {
Options {
signature = SHA1
}
File = "/var/lib/bacula/bacula.sql"
}
}

# LISTA DOS ARQUIVOS QUE SERAO COPIADOS - SISTEMA WINDOWS SERVER #

FileSet {
Name = "WindowsFS"
#Habilita o Volume shadow copy service
Enable VSS = yes
# Arquivos que serao incluidos para serem copiados ao backup
Include {
# Plugin = "alldrivers"
Options {
signature = SHA1
Compression = GZIP
OneFS = no
}
File = "C:/"
File = "F:/"
}
}
Agora vamos configurar o bacula como cliente tambem
vim /etc/bacula/bacula-fd.conf
##############################################################
# ARQUIVO DE CONFIGURACAO DO FILE DAEMON DO BACULA #
##############################################################

#
# List Directors who are permitted to contact this File daemon
#
Director {
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
Name = bacula-dir # Nome do Director
Password = "ExgYbEinJWMf7lsWPBcpffZaNMmiGcbgp" # ESTA SENHA ESTA DEFINIDA NO ARQUIVO DE CLIENTE
EM /ETC/BACULA/BACULA-DIR-CLIENTS-AND-JOBS.CONF
}

#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
Director {
Name = bacula-mon
Password = "z27BNYXA9dx1SZWk1vp-kSZ8azwz2HMS8" # ESTA SENHA E UTILIZADO PELO BACULA-MONITOR
Monitor = yes
}

#
# "Global" File daemon configuration specifications
#
FileDaemon {
Name = bacula-fd # Nome do Bacula-fd
FDport = 9102 # Porta de Comunicacao do bacula-fd
WorkingDirectory = /var/lib/bacula # Diretorio de trabalho
Pid Directory = /var/run/bacula # Diretorio de Pid
Maximum Concurrent Jobs = 20 # Numero maximo de jobs executados no bacula
FDAddress = 0.0.0.0 # COMENTAR OU REMOVER ESSA LINHA PARA QUE ELE POSSA 'OUVIR'
CONEXOES EM TODAS AS INTERFACES
}

# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = bacula-dir = all, !skipped, !restored # AS MENSAGEM SAO ENCAMINHADAS PARA O
'BACULA-DIR' DEFINIDO NESSA LINHA
}
Agora vamos ajustar o arquivo de controle do armazenamento do backup
vim /etc/bacula/bacula-sd.conf
##############################################################
# ARQUIVO PADRAO DE CONFIGURACAO DE STORAGE DO BACULA #
##############################################################

Storage {
Name = bacula-sd # Nome do Storage
SDPort = 9103 # Porta do Director
WorkingDirectory = "/var/lib/bacula" # Diretorio de Trabalho
Pid Directory = "/var/run/bacula" # Pid do Bacula
Maximum Concurrent Jobs = 20 # Maximo de Backups em Execucao
SDAddress = 0.0.0.0 # Comentar ou remover essa Linha para nao fazer loopback
}

#
# List Directors who are permitted to contact Storage daemon
#
Director {
Name = bacula-dir
Password = "LE_T_-c_55qu1f777Dm52map-s3xpgR4q"
}

#
# Restricted Director, used by tray-monitor to get the
# status of the storage daemon
# Usado pelo tray-monitor do bacula para obter status do servidor
Director {
Name = bacula-mon
Password = "kNuOgEZUq2pqP6hRqPHMHm7UyxCOG1LBf"
Monitor = yes
2014/07/15 16:36 9/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
}


# ABAIXO DEFINIMOS O NOME, TIPO, E O DIRETRIO DE ARQUIVOS DO BACULA

Device {
Name = FileStorage # Nome do Device
Media Type = File # Tipo de Midia (DVD, CD, HD, FITA)
Archive Device = /srv/backup # Diretorio onde serao salvos os volumes de backup
LabelMedia = yes; # Midias de Etiquetamento do Bacula
Random Access = Yes; #
AutomaticMount = yes; # Montar Automaticamente
RemovableMedia = no; # Midia Removivel
AlwaysOpen = no; # Manter Sempre Aberto
}

#
# Send all messages to the Director,
# mount messages also are sent to the email address
#
Messages {
Name = Standard
director = bacula-dir = all
}
Agora vamos ajustar o arquivo do bconsole que como vamos conectar no bacula para fazer backup pela linha
de comando
vim /etc/bacula/bconsole.conf
#
# Bacula User Agent (or Console) Configuration File
#

Director {
Name = bacula-dir
DIRport = 9101
address = bacula
Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3L"
}
Agora vamos criar o diretrio para armazenar os clientes
mkdir -p /etc/bacula/clientes
Agora vamos criar o arquivo de controle bsico para os clientes
vim /etc/bacula/clientes/basic-client
##########################################################
## ARQUIVO PARA CONFIGURACAO DE CLIENTE LINUX NO BACULA ##
##########################################################
Catalog = Catalogo # Nome do Catalogo definido
File Retention = 30 days # Tempo de Retencao do Backup
Job Retention = 6 months # Tempo de Retencao do Job
AutoPrune = yes # Prune de Jobs/Arquivos Expirados
Agora vamos criar o diretrio para armazenar os backups
mkdir -p /srv/backup
Agora vamos ajustar as permisses
chown bacula:tape /srv/backup
chown -R bacula:bacula /etc/bacula
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
Agora vamos reiniciar os servios do bacula
/etc/init.d/bacula-dir restart
/etc/init.d/bacula-sd restart
/etc/init.d/bacula-fd restart
Agora vamos ver se o bacula est escutando
netstat -natu | egrep 910*
tcp 0 0 0.0.0.0:9101 0.0.0.0:* OUA
tcp 0 0 0.0.0.0:9102 0.0.0.0:* OUA
tcp 0 0 0.0.0.0:9103 0.0.0.0:* OUA
Agora vamos testar o bacula, vamos verificar se ele est respondendo e se ele est reconhecendo o ele como
cliente
Vamos se conectar no bconsole
bconsole
Connecting to Director bacula:9101
1000 OK: bacula-dir Version: 5.2.13 (19 February 2013)
Enter a period to cancel a command.
*
Ele est respondendo, agora vamos testar o cliente bacula ainda no bconsole
*status client=bacula-fd
Connecting to Client bacula-fd at bacula.douglas.wiki.br:9102

bacula-fd Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu debian 6.0.7
Daemon started 12-Abr-13 13:23. Jobs: run=0 running=0.
Heap: heap=270,336 smbytes=23,497 max_bytes=23,644 bufs=53 max_bufs=54
Sizeof: boffset_t=8 size_t=8 debug=0 trace=0
Running Jobs:
Director connected at: 12-Abr-13 13:25
No Jobs running.
====

Terminated Jobs:
====
*
O nosso bacula est sendo reconhecido como cliente.
Vamos efetuar um backup do catalogo que o banco de dados de controle do bacula
*run
Automatically selected Catalog: Catalogo
Using Catalog "Catalogo"
A job name must be specified.
The defined Job resources are:
1: BackupCatalogo
2: RestoreFiles
3: BackupDirector
Select Job resource (1-3): 1
Run Backup job
JobName: BackupCatalogo
Level: Full
Client: bacula-fd
FileSet: Catalogo
Pool: File (From Job resource)
Storage: File (From Job resource)
2014/07/15 16:36 11/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
When: 2013-04-12 13:27:02
Priority: 11
OK to run? (yes/mod/no): yes
Job queued. JobId=1
Aqui o primeiro comando run que chama a execuo do backup, depois precisamos selecionar a opo como
eu quero backup do catalogo tive que escolher a opo 1 e por fim precisei confirmar com um yes.
Agora vamos consultar o job de backup ainda no bconsole
list jobs
+-------+----------------+---------------------+------+-------+----------+----------+-----------+
| jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus |
+-------+----------------+---------------------+------+-------+----------+----------+-----------+
| 1 | BackupCatalogo | 2013-04-12 13:27:05 | B | F | 1 | 43,545 | T |
+-------+----------------+---------------------+------+-------+----------+----------+-----------+
Agora se eu consultar o status do cliente novamente no bconsole vamos ter a seguinte mensagem
status client=bacula-fd
Connecting to Client bacula-fd at bacula.douglas.wiki.br:9102

bacula-fd Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu debian 6.0.7
Daemon started 12-Abr-13 13:23. Jobs: run=1 running=0.
Heap: heap=675,840 smbytes=99,492 max_bytes=169,308 bufs=60 max_bufs=79
Sizeof: boffset_t=8 size_t=8 debug=0 trace=0
Running Jobs:
Director connected at: 12-Abr-13 13:28
No Jobs running.
====

Terminated Jobs:
JobId Level Files Bytes Status Finished Name
======================================================================
1 Full 1 43.54 K OK 12-Abr-13 13:27 BackupCatalogo
Como podemos notar temos um backup do tipo full efetuado as 13:27 com sucesso.
Agora vamos fazer backup dos arquivos do servidor
*run
A job name must be specified.
The defined Job resources are:
1: BackupCatalogo
2: RestoreFiles
3: BackupDirector
Select Job resource (1-3): 3
Run Backup job
JobName: BackupDirector
Level: Incremental
Client: bacula-fd
FileSet: Full Set
Pool: File (From Job resource)
Storage: File (From Job resource)
When: 2013-04-12 13:29:50
Priority: 10
OK to run? (yes/mod/no): yes
Job queued. JobId=2
Aqui o primeiro comando run que chama a execuo do backup, depois precisamos selecionar a opo como
eu quero backup dos arquivos do servidor tive que escolher a opo 3 e por fim precisei confirmar com um yes.
Agora vamos consultar o job do nosso backup no bconsole
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
*list jobs
+-------+----------------+---------------------+------+-------+----------+------------+-----------+
| jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus |
+-------+----------------+---------------------+------+-------+----------+------------+-----------+
| 1 | BackupCatalogo | 2013-04-12 13:27:05 | B | F | 1 | 43,545 | T |
| 2 | BackupDirector | 2013-04-12 13:29:53 | B | F | 1,889 | 22,790,302 | T |
+-------+----------------+---------------------+------+-------+----------+------------+-----------+
Como pode ser notado temos o backup ok to tipo full com um total de 1.889 arquivos, agora vamos consultar o
status do nosso cliente no bconsole
status client=bacula-fd
Connecting to Client bacula-fd at bacula.douglas.wiki.br:9102

bacula-fd Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu debian 6.0.7
Daemon started 12-Abr-13 13:23. Jobs: run=2 running=0.
Heap: heap=819,200 smbytes=101,017 max_bytes=186,312 bufs=65 max_bufs=118
Sizeof: boffset_t=8 size_t=8 debug=0 trace=0
Running Jobs:
Director connected at: 12-Abr-13 13:31
No Jobs running.
====

Terminated Jobs:
JobId Level Files Bytes Status Finished Name
======================================================================
1 Full 1 43.54 K OK 12-Abr-13 13:27 BackupCatalogo
2 Full 1,889 22.79 M OK 12-Abr-13 13:29 BackupDirector
Temos agora as informaes que o backup ocorreu com sucesso :D.
Agora se eu precisar restaurar por exemplo o /etc/network do backup podemos fazer da seguinte forma no
bconsole
*restore

First you select one or more JobIds that contain files
to be restored. You will be presented several methods
of specifying the JobIds. Then you will be allowed to
select which files from those JobIds are to be restored.

To select the JobIds, you have the following choices:
1: List last 20 Jobs run
2: List Jobs where a given File is saved
3: Enter list of comma separated JobIds to select
4: Enter SQL list command
5: Select the most recent backup for a client
6: Select backup for a client before a specified time
7: Enter a list of files to restore
8: Enter a list of files to restore before a specified time
9: Find the JobIds of the most recent backup for a client
10: Find the JobIds for a backup for a client before a specified time
11: Enter a list of directories to restore for found JobIds
12: Select full restore to a specified Job date
13: Cancel
Select item: (1-13): 5
Automatically selected Client: bacula-fd
The defined FileSet resources are:
1: Catalogo
2: Full Set
Select FileSet resource (1-2): 2
+-------+-------+----------+------------+---------------------+------------+
| jobid | level | jobfiles | jobbytes | starttime | volumename |
+-------+-------+----------+------------+---------------------+------------+
| 2 | F | 1,889 | 22,790,302 | 2013-04-12 13:29:53 | volume0001 |
2014/07/15 16:36 13/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
+-------+-------+----------+------------+---------------------+------------+
You have selected the following JobId: 2

Building directory tree for JobId(s) 2 ... +++++++++++++++++++++++++++++++++++++++++++++
1,711 files inserted into the tree.

You are now entering file selection mode where you add (mark) and
remove (unmark) files to be restored. No files are initially added, unless
you used the "all" keyword on the command line.
Enter "done" to leave this mode.

cwd is: /
$ ls
etc/
home/
root/
usr/
var/
$ cd etc/
cwd is: /etc/
$ ls
.pwd.lock
Muttrc
Muttrc.d/
X11/
acpi/
adduser.conf
[...]
modules
motd
motd.tail
mtab
nanorc
network/
networks
nsswitch.conf
[...]
vim/
w3m/
wgetrc
xml/
zsh/
$ mark network
13 files marked.
$ done
Bootstrap records written to /var/lib/bacula/bacula-dir.restore.1.bsr

The job will require the following
Volume(s) Storage(s) SD Device(s)
===========================================================================

volume0001 File FileStorage

Volumes marked with "*" are online.


14 files selected to be restored.

Run Restore job
JobName: RestoreFiles
Bootstrap: /var/lib/bacula/bacula-dir.restore.1.bsr
Where: /tmp/bacula-restores
Replace: always
FileSet: Full Set
Backup Client: bacula-fd
Restore Client: bacula-fd
Storage: File
When: 2013-04-12 13:33:41
Catalog: Catalogo
Priority: 10
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
Plugin Options: *None*
OK to run? (yes/mod/no): yes
Job queued. JobId=3
Aqui o procedimento o seguinte:
restore para chamar o processo de restore
I
5 para selecionar o backup mais recente do cliente
I
2 por exemplo para restaurar o backup dos arquivos
I
Depois podemos digitar um ls para listar os nosso arquivos
I
Depois um cd caso precise selecionar um diretrio
I
Depois podemos marcar o que queremos restaurar com o comando mark
I
Depois precisamos digitar done para informar ao bacula que j selecionamos o que precisamos
I
E por fim precisamos informar yes para confirmar o restore
I
Agora vamos listar os jobs no bconsole
*list jobs
+-------+----------------+---------------------+------+-------+----------+------------+-----------+
| jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus |
+-------+----------------+---------------------+------+-------+----------+------------+-----------+
| 1 | BackupCatalogo | 2013-04-12 13:27:05 | B | F | 1 | 43,545 | T |
| 2 | BackupDirector | 2013-04-12 13:29:53 | B | F | 1,889 | 22,790,302 | T |
| 3 | RestoreFiles | 2013-04-12 13:33:45 | R | F | 14 | 8,975 | T |
+-------+----------------+---------------------+------+-------+----------+------------+-----------+
Pelas informaes restauramos 14 arquivos com sucesso.
Agora vamos consultar o status do nosso cliente
*status client=bacula-fd
Connecting to Client bacula-fd at bacula.douglas.wiki.br:9102

bacula-fd Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu debian 6.0.7
Daemon started 12-Abr-13 13:23. Jobs: run=3 running=0.
Heap: heap=819,200 smbytes=101,258 max_bytes=186,312 bufs=66 max_bufs=118
Sizeof: boffset_t=8 size_t=8 debug=0 trace=0
Running Jobs:
Director connected at: 12-Abr-13 13:38
No Jobs running.
====

Terminated Jobs:
JobId Level Files Bytes Status Finished Name
======================================================================
1 Full 1 43.54 K OK 12-Abr-13 13:27 BackupCatalogo
2 Full 1,889 22.79 M OK 12-Abr-13 13:29 BackupDirector
3 14 8.975 K OK 12-Abr-13 13:33 RestoreFiles
Como podemos notar agora temos a informao que temos todas as opes at o momento ok.
Como mandamos restaurar o bacula mandou para o caminho default que seria /tmp/bacula-restore vamos listar
esse diretrio
ls -lR /tmp/bacula-restores
/tmp/bacula-restores:
total 1
drwxr-xr-x 3 root root 1024 Abr 12 13:25 etc/

/tmp/bacula-restores/etc:
2014/07/15 16:36 15/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
total 1
drwxr-xr-x 7 root root 1024 Abr 11 10:33 network/

/tmp/bacula-restores/etc/network:
total 6
drwxr-xr-x 2 root root 1024 Abr 11 11:00 if-down.d/
drwxr-xr-x 2 root root 1024 Mar 3 2010 if-post-down.d/
drwxr-xr-x 2 root root 1024 Mar 3 2010 if-pre-up.d/
drwxr-xr-x 2 root root 1024 Abr 11 11:01 if-up.d/
-rw-r--r-- 1 root root 517 Abr 11 10:33 interfaces
drwxr-xr-x 2 root root 1024 Abr 12 11:56 run/

/tmp/bacula-restores/etc/network/if-down.d:
total 1
-rwxr-xr-x 1 root root 803 Mai 4 2011 postfix*

/tmp/bacula-restores/etc/network/if-post-down.d:
total 0

/tmp/bacula-restores/etc/network/if-pre-up.d:
total 0

/tmp/bacula-restores/etc/network/if-up.d:
total 10
-rwxr-xr-x 1 root root 4581 Mar 24 2012 mountnfs*
-rwxr-xr-x 1 root root 1089 Set 15 2008 ntpdate*
-rwxr-xr-x 1 root root 849 Dez 21 2009 openssh-server*
-rwxr-xr-x 1 root root 1120 Mai 4 2011 postfix*

/tmp/bacula-restores/etc/network/run:
total 1
-rw-r--r-- 1 root root 16 Abr 12 11:56 ifstate
Temos o nosso backup restaurado com sucesso :D
Configurao do Cliente Windows 2008 R2
Agora vamos instalar um cliente Windows eu vou utilizar um Windows Server 2008 R2 Enterprise
Podemos obter o cliente em http://www.douglas.wiki.br/Downloads/misc/bacula-win64-5.2.10.exe
Agora vamos instalar ele
Mande executar o bacula-win64-5.2.10.exe com direito administrativos
I
Agora selecione Next
I
Agora selecione I Agree
I
Agora selecione Automatic
I
Agora selecione Next
I
Agora vamos informar os dados do bacula-dir:
I
Em DIR Name informe: bacula-dir
I
Em DIR Password informe: Cv70F6pf1t6pBopT4vQOnigDrR0v3L que a senha do bacula-dir
I
Em DIR Address informe: bacula.douglas.wiki.br
I
Agora selecione Install
I
Agora selecione Next
I
Agora selecione Finish
I
Agora vamos ajustar o c:\Windows\System32\Drivers\etc\hosts
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
notepad c:\Windows\System32\Drivers\etc\hosts
[...]
#No final do arquivo insira a seguinte linha
192.168.0.80 bacula.douglas.wiki.br
Agora vamos deixar o backup-fd.conf da seguinte forma
notepad "c:\Windows\Arquivos de Programas\Bacula\bacula-fd.conf"
# Default Bacula File Daemon Configuration file
#
# For Bacula release 5.2.6 (02/21/12) -- Windows MinGW32
#
# There is not much to change here except perhaps the
# File daemon Name
#

#
# "Global" File daemon configuration specifications
#
FileDaemon {
Name = win2008-fd # Nome do cliente-fd
FDport = 9102 # Porta de Comunicacao
WorkingDirectory = "C:\\Program Files\\Bacula\\working" # Diretorio de Trabalho
Pid Directory = "C:\\Program Files\\Bacula\\working" # Diretorio de PID
# Plugin Directory = "C:\\Program Files\\Bacula\\plugins" # Diretorio de Plugins
Maximum Concurrent Jobs = 10 # Numero Maximo de Jobs em
execucao
}

#
# List Directors who are permitted to contact this File daemon
#
Director {
Name = bacula-dir # ALTERAR PARA O NOME DO 'DIRECTOR' DO BACULA
Password = "a0wDKVckyaTacqItfkCxddJxyBLwAXFn7" # SENHA PARA COMUNICACAO COM ARQUIVO
CLIENTS-AND-JOBS.CONF
}

#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
# UTILIZADO PELO BACULA MONITOR
Director {
Name = bacula-mon
Password = "yQevDJfJg7fBgp8PfOxWTKqTqhUUTvAMn"
Monitor = yes
}

# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = bacula-dir = all, !skipped, !restored
}
Agora para podermos efetuar backup do c: do Windows precisamos importar a seguinte chave do resgistro
notepad bacula.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wbengine]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wbengine\SystemStateBackup]
"ALlowSSBToAny"=dword:00000001
Agora precisamos mandar iniciar o servio do bacula e o servio Deteco de Servios Interativos (Interactive
2014/07/15 16:36 17/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
Services Detection)
Agora para o bacula conseguir chegar no cliente precisamos liberar a porta 9102 no servidor Windows(Liberar a
porta 9102 no Firewall).
Agora no servidor bacula vamos criar um novo cliente
vim /etc/bacula/bacula-dir-clients-and-jobs.conf
[...]
#Inserir no final do arquivo
Job {
Name = "BackupWin2008" # Nome do Job para Backup do Director (Proprio
Servidor Bacula)
JobDefs = "DefaultWindows" # JObDefs Definido
Client = win2008-fd # Cliente fd
}

Client {
Name = win2008-fd # Cliente fd
Address = win2008.douglas.wiki.br # Ajustado no /etc/hosts
Password = "a0wDKVckyaTacqItfkCxddJxyBLwAXFn7" # Senha do Director do Bacula que foi
definida no cliente
@/etc/bacula/clientes/basic-client # Arquivo onde contem informacoes sobre o cliente.
}
Aqui nos definimos o job de backup do windows e depois a sua configurao.
Agora vamos inserir no /etc/hosts a entrada para o win2012
vim /etc/hosts
127.0.0.1 localhost
192.168.0.80 bacula.douglas.wiki.br bacula
192.168.0.92 win2008.douglas.wiki.br win2008
[...]
Agora vamos mandar reiniciar o servio do bacula
/etc/init.d/bacula-dir restart
/etc/init.d/bacula-sd restart
/etc/init.d/bacula-fd restart
Agora vamos chamar o bconsole para testarmos a conexo com o cliente
bconsole
Connecting to Director bacula:9101
1000 OK: bacula-dir Version: 5.2.13 (19 February 2013)
Enter a period to cancel a command.
*status client=win2008-fd
Connecting to Client win2008-fd at win2008.douglas.wiki.br:9102

win2008-fd Version: 5.2.10 (28 June 2012) VSS Linux Cross-compile Win64
Daemon started 12-Apr-13 15:19. Jobs: run=0 running=0.
Microsoft Windows Server 2008 R2 Enterprise Edition Service Pack 1 (build 7601), 64-bit
Heap: heap=0 smbytes=16,962 max_bytes=17,109 bufs=53 max_bufs=54
Sizeof: boffset_t=8 size_t=8 debug=0 trace=1
Running Jobs:
Director connected at: 12-Apr-13 15:23
No Jobs running.
====

Terminated Jobs:
====
*
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
Como pode ser notado estamos chegando no cliente com sucesso.
Agora vamos mandar efetuar um backup do cliente
*run
Automatically selected Catalog: Catalogo
Using Catalog "Catalogo"
A job name must be specified.
The defined Job resources are:
1: BackupCatalogo
2: RestoreFiles
3: BackupDirector
4: BackupWin2008
Select Job resource (1-4): 4
Run Backup job
JobName: BackupWin2008
Level: Incremental
Client: win2008-fd
FileSet: WindowsFS
Pool: File (From Job resource)
Storage: File (From Job resource)
When: 2013-04-12 15:29:11
Priority: 10
OK to run? (yes/mod/no): yes
Job queued. JobId=3
*
A mesma histria, run para rodar o backup, depois selecionamos a opo de backup no caso 4 para o win2008 e
depois um yes para confirmar.
As vezes podemos ter uma mensagem, podemos visualizar ela da seguinte forma no bconsole
*mes
12-Abr 14:15 bacula-dir JobId 5: No prior Full backup Job record found.
12-Abr 14:15 bacula-dir JobId 5: No prior or suitable Full backup found in catalog. Doing FULL backup.
12-Abr 14:15 bacula-dir JobId 5: Start Backup JobId 5, Job=BackupWin2012.2013-04-12_14.15.10_03
12-Abr 14:15 bacula-dir JobId 5: Using Device "FileStorage" to write.
12-Abr 14:15 bacula-sd JobId 5: Volume "volume0001" previously written, moving to end of data.
12-Abr 14:15 bacula-sd JobId 5: Ready to append to end of Volume "volume0001" size=23120574
12-Abr 14:15 Win2012-fd JobId 5: Generate VSS snapshots. Driver="Win64 VSS", Drive(s)="CF"
Agora vamos consultar os jobs
*list jobs
+-------+----------------+---------------------+------+-------+----------+-----------+-----------+
| jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus |
+-------+----------------+---------------------+------+-------+----------+-----------+-----------+
| 1 | BackupCatalogo | 2013-04-12 15:13:50 | B | F | 1 | 43,545 | T |
| 2 | BackupDirector | 2013-04-12 15:14:03 | B | F | 1,891 | 8,068,884 | T |
| 3 | BackupWin2008 | 2013-04-12 15:29:26 | B | F | 0 | 0 | R |
+-------+----------------+---------------------+------+-------+----------+-----------+-----------+
*
Ainda est executando, agora vamos verificar o status do cliente windows 2012
*status client=win2008-fd
Connecting to Client win2008-fd at win2008.douglas.wiki.br:9102

win2008-fd Version: 5.2.10 (28 June 2012) VSS Linux Cross-compile Win64
Daemon started 12-Apr-13 15:19. Jobs: run=0 running=0.
Microsoft Windows Server 2008 R2 Enterprise Edition Service Pack 1 (build 7601), 64-bit
Heap: heap=0 smbytes=195,578 max_bytes=212,575 bufs=136 max_bufs=158
Sizeof: boffset_t=8 size_t=8 debug=0 trace=1
2014/07/15 16:36 19/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
Running Jobs:
JobId 3 Job BackupWin2008.2013-04-12_15.29.13_03 is running.
VSS Full Backup Job started: 12-Apr-13 15:28
Files=721 Bytes=111,094,103 Bytes/sec=2,267,226 Errors=0
Files Examined=721
Processing file: C:/Recovery/4446b7b6-a39a-11e2-90f5-f46d8e8454b4/Winre.wim
SDReadSeqNo=5 fd=700
Director connected at: 12-Apr-13 15:29
====

Terminated Jobs:
====
*
Como podemos ver em Processing file: o que o bacula est copiando no momento, aqui temos que esperar ele
terminar o backup.
Configurao do cliente Windows 2012
Agora vamos instalar um cliente Windows eu vou utilizar um Windows Server 2012 Stardard
Podemos obter o cliente em http://www.douglas.wiki.br/Downloads/misc/bacula-win64-5.2.10.exe
Agora vamos instalar ele
Mande executar o bacula-win64-5.2.10.exe com direito administrativos
I
Agora selecione Next
I
Agora selecione I Agree
I
Agora selecione Automatic
I
Agora selecione Next
I
Agora vamos informar os dados do bacula-dir:
I
Em DIR Name informe: bacula-dir
I
Em DIR Password informe: Cv70F6pf1t6pBopT4vQOnigDrR0v3L que a senha do bacula-dir
I
Em DIR Address informe: bacula.douglas.wiki.br
I
Agora selecione Install
I
Agora selecione Next
I
Agora selecione Finish
I
Agora vamos ajustar o c:\Windows\System32\Drivers\etc\hosts
notepad c:\Windows\System32\Drivers\etc\hosts
[...]
#No final do arquivo insira a seguinte linha
192.168.0.80 bacula.douglas.wiki.br
Agora vamos deixar o backup-fd.conf da seguinte forma
notepad "c:\Windows\Arquivos de Programas\Bacula\bacula-fd.conf"
# Default Bacula File Daemon Configuration file
#
# For Bacula release 5.2.6 (02/21/12) -- Windows MinGW32
#
# There is not much to change here except perhaps the
# File daemon Name
#

#
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
# "Global" File daemon configuration specifications
#
FileDaemon {
Name = Win2012-fd # Nome do cliente-fd
FDport = 9102 # Porta de Comunicacao
WorkingDirectory = "C:\\Program Files\\Bacula\\working" # Diretorio de Trabalho
Pid Directory = "C:\\Program Files\\Bacula\\working" # Diretorio de PID
# Plugin Directory = "C:\\Program Files\\Bacula\\plugins" # Diretorio de Plugins
Maximum Concurrent Jobs = 10 # Numero Maximo de Jobs em
execucao
}

#
# List Directors who are permitted to contact this File daemon
#
Director {
Name = bacula-dir # ALTERAR PARA O NOME DO 'DIRECTOR' DO BACULA
Password = "a0wDKVckyaTacqItfkCxddJxyBLwAXFn7" # SENHA PARA COMUNICACAO COM ARQUIVO
CLIENTS-AND-JOBS.CONF
}

#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
# UTILIZADO PELO BACULA MONITOR
Director {
Name = bacula-mon
Password = "yQevDJfJg7fBgp8PfOxWTKqTqhUUTvAMn"
Monitor = yes
}

# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = bacula-dir = all, !skipped, !restored
}
Agora para podermos efetuar backup do c: do Windows precisamos importar a seguinte chave do resgistro
notepad bacula.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wbengine]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wbengine\SystemStateBackup]
"ALlowSSBToAny"=dword:00000001
Como estamos utilizando o Windows 2012 como cliente precisamos habilitar a descoberta de servios
interativos no registro do Windows:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\NoInteractiveServices
I
Precisamos mudar essa chave para o valor 0.
Agora precisamos mandar iniciar o servio do bacula e o servio Deteco de Servios Interativos.
Agora para o bacula conseguir chegar no cliente precisamos liberar a porta 9102 no servidor Windows.
Agora no servidor bacula vamos criar um novo cliente
vim /etc/bacula/bacula-dir-clients-and-jobs.conf
[...]
#Inserir no final do arquivo
Job {
2014/07/15 16:36 21/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
Name = "BackupWin2012" # Nome do Job para Backup do Director (Proprio
Servidor Bacula)
JobDefs = "DefaultWindows" # JObDefs Definido
Client = win2012-fd # Cliente fd
}

Client {
Name = win2012-fd # Cliente fd
Address = win2012.douglas.wiki.br # Ajustado no /etc/hosts
Password = "a0wDKVckyaTacqItfkCxddJxyBLwAXFn7" # Senha do Director do Bacula que foi
definida no cliente
@/etc/bacula/clientes/basic-client # Arquivo onde contem informacoes sobre o cliente.
}
Aqui nos definimos o job de backup do windows e depois a sua configurao.
Agora vamos inserir no /etc/hosts a entrada para o win2012
vim /etc/hosts
127.0.0.1 localhost
192.168.0.80 bacula.douglas.wiki.br bacula
192.168.0.85 win2012.douglas.wiki.br win2012
[...]
Agora vamos pingar no win2012 para verificarmos a conectividade
ping win2012.douglas.wiki.br -c 2
PING win2012.douglas.wiki.br (192.168.0.85) 56(84) bytes of data.
64 bytes from win2012.douglas.wiki.br (192.168.0.85): icmp_req=1 ttl=128 time=0.438 ms
64 bytes from win2012.douglas.wiki.br (192.168.0.85): icmp_req=2 ttl=128 time=0.610 ms

--- win2012.douglas.wiki.br ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.438/0.524/0.610/0.086 ms
Agora vamos mandar reiniciar o servio do bacula
/etc/init.d/bacula-dir restart
/etc/init.d/bacula-sd restart
/etc/init.d/bacula-fd restart
Agora vamos chamar o bconsole para testarmos a conexo com o cliente
bconsole
Connecting to Director bacula:9101
1000 OK: bacula-dir Version: 5.2.13 (19 February 2013)
Enter a period to cancel a command.
*status client=win2012-fd
Connecting to Client win2012-fd at win2012.douglas.wiki.br:9102

Win2012-fd Version: 5.2.10 (28 June 2012) VSS Linux Cross-compile Win64
Daemon started 12-Apr-13 14:06. Jobs: run=0 running=0.
Microsoft Standard Edition (build 9200), 64-bit
Heap: heap=0 smbytes=18,754 max_bytes=18,901 bufs=53 max_bufs=54
Sizeof: boffset_t=8 size_t=8 debug=0 trace=1
Running Jobs:
Director connected at: 12-Apr-13 14:08
No Jobs running.
====

Terminated Jobs:
====
*
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
Como pode ser notado estamos chegando no cliente com sucesso.
Agora vamos mandar efetuar um backup do cliente
*run
Automatically selected Catalog: Catalogo
Using Catalog "Catalogo"
A job name must be specified.
The defined Job resources are:
1: BackupCatalogo
2: RestoreFiles
3: BackupDirector
4: BackupWin2012
Select Job resource (1-4): 4
Run Backup job
JobName: BackupWin2012
Level: Incremental
Client: win2012-fd
FileSet: WindowsFS
Pool: File (From Job resource)
Storage: File (From Job resource)
When: 2013-04-12 14:15:08
Priority: 10
OK to run? (yes/mod/no): yes
Job queued. JobId=5
You have messages.
A mesma histria, run para rodar o backup, depois selecionamos a opo de backup no caso 4 para o win2012 e
depois um yes para confirmar.
Note que agora temos uma mensagem, podemos visualizar ela da seguinte forma no bconsole
*mes
12-Abr 14:15 bacula-dir JobId 5: No prior Full backup Job record found.
12-Abr 14:15 bacula-dir JobId 5: No prior or suitable Full backup found in catalog. Doing FULL backup.
12-Abr 14:15 bacula-dir JobId 5: Start Backup JobId 5, Job=BackupWin2012.2013-04-12_14.15.10_03
12-Abr 14:15 bacula-dir JobId 5: Using Device "FileStorage" to write.
12-Abr 14:15 bacula-sd JobId 5: Volume "volume0001" previously written, moving to end of data.
12-Abr 14:15 bacula-sd JobId 5: Ready to append to end of Volume "volume0001" size=23120574
12-Abr 14:15 Win2012-fd JobId 5: Generate VSS snapshots. Driver="Win64 VSS", Drive(s)="CF"
Agora vamos consultar os jobs
*list jobs
+-------+----------------+---------------------+------+-------+----------+------------+-----------+
| jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus |
+-------+----------------+---------------------+------+-------+----------+------------+-----------+
| 1 | BackupCatalogo | 2013-04-12 13:27:05 | B | F | 1 | 43,545 | T |
| 2 | BackupDirector | 2013-04-12 13:29:53 | B | F | 1,889 | 22,790,302 | T |
| 3 | RestoreFiles | 2013-04-12 13:33:45 | R | F | 14 | 8,975 | T |
| 4 | BackupWin2012 | 2013-04-12 14:15:22 | B | F | 0 | 0 | R |
+-------+----------------+---------------------+------+-------+----------+------------+-----------+
*
Ainda est executando, agora vamos verificar o status do cliente windows 2012
*status client=win2012-fd
Connecting to Client win2012-fd at win2012.douglas.wiki.br:9102

Win2012-fd Version: 5.2.10 (28 June 2012) VSS Linux Cross-compile Win64
Daemon started 12-Apr-13 14:06. Jobs: run=1 running=0.
Microsoft Standard Edition (build 9200), 64-bit
Heap: heap=0 smbytes=183,408 max_bytes=189,680 bufs=120 max_bufs=127
2014/07/15 16:36 23/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
Sizeof: boffset_t=8 size_t=8 debug=0 trace=1
Running Jobs:
JobId 5 Job BackupWin2012.2013-04-12_14.15.10_03 is running.
VSS Full Backup Job started: 12-Apr-13 14:15
Files=132 Bytes=1,690,775,038 Bytes/sec=20,370,783 Errors=0
Files Examined=132
Processing file: C:/pagefile.sys
SDReadSeqNo=5 fd=1084
Director connected at: 12-Apr-13 14:16
====

Terminated Jobs:
JobId Level Files Bytes Status Finished Name
======================================================================
Como podemos ver em Processing file: o que o bacula est copiando no momento, aqui temos que esperar ele
terminar o backup.
Configurao de um Cliente Debian Squeeze
Vamos instalar os pr-requisitos para podermos compilar o bacula
aptitude install libreadline-dev libreadline6-dev libreadline6-dev libreadline6 lib32readline6
lib32readline6-dev -y
Agora vamos criar os diretrios para o bacula
mkdir /var/lib/bacula
mkdir /var/run/bacula
mkdir /var/log/bacula
mkdir -p /etc/bacula/scripts
Agora vamos criar o usurio bacula
useradd -s /bin/false -d /var/lib/bacula bacula
Agora vamos ajustar as permisses dos diretrios
chown -R bacula:bacula /var/lib/bacula /var/run/bacula /var/log/bacula /etc/bacula
Agora vamos obter o pacote do bacula
cd /usr/src
wget -c http://www.douglas.wiki.br/Downloads/misc/bacula-5.2.13.tar.gz
Agora vamos desempacotar o bacula
tar -xzvf bacula-5.2.13.tar.gz
Agora vamos acessar a pasta do bacula
cd bacula-5.2.13/
Agora vamos preparar o pacote do bacula
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
CFLAGS="-g -Wall" ./configure --enable-client-only --enable-smartalloc --with-working-dir=/var/lib/
bacula --with-pid-dir=/var/run/bacula --with-logdir=/var/log/bacula --with-scriptdir=/etc/bacula/
scripts --with-readline=/usr/include/readline --disable-conio
Agora vamos mandar compilar o bacula
make
Agora vamos mandar instalar o bacula
make install
Agora vamos mandar instalar os binrios de inicializao do bacula
make install-autostart
Agora vamos ajustar as permisses dos arquivos
chown -R bacula:bacula /etc/bacula
Agora vamos ajustar o /etc/hosts do cliente
vim /etc/hosts
127.0.0.1 localhost
192.168.0.81 debian.douglas.wiki.br debian
192.168.0.80 bacula.douglas.wiki.br bacula
[...]
Vamos remover dois scripts que no so necessrios
rm -rf /etc/init.d/bacula-sd
rm -rf /etc/init.d/bacula-dir
Agora vamos fazer o backup dos arquivos de configurao do bacula
mkdir /usr/src/olds
cp -Rfa /etc/bacula /usr/src/olds
Agora vamos configurar o cliente
vim /etc/bacula/bacula-fd.conf
##############################################################
# ARQUIVO DE CONFIGURACAO DO FILE DAEMON DO BACULA #
##############################################################

#
# List Directors who are permitted to contact this File daemon
#
Director {
Name = bacula-dir # Nome do Director
Password = "a5GGjJ4D7tRnm3C1TSLzU4glxdflLJ56OG77hjtT9zUF" # ESTA SENHA ESTA DEFINIDA NO ARQUIVO
DE CLIENTE EM /ETC/BACULA/BACULA-DIR-CLIENTS-AND-JOBS.CONF
}

#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
2014/07/15 16:36 25/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
Director {
Name = bacula-mon
Password = "dBYlH/Q+inv85CGu7TCHpYTW2EtpUwwqHuEmjoRgl/l/" # ESTA SENHA E UTILIZADO PELO
BACULA-MONITOR
Monitor = yes
}

#
# "Global" File daemon configuration specifications
#
FileDaemon {
Name = debian-fd # Nome do Bacula-fd
FDport = 9102 # Porta de Comunicacao do bacula-fd
WorkingDirectory = /var/lib/bacula # Diretorio de trabalho
Pid Directory = /var/run/bacula # Diretorio de Pid
Maximum Concurrent Jobs = 20 # Numero maximo de jobs executados no bacula
FDAddress = 0.0.0.0 # COMENTAR OU REMOVER ESSA LINHA PARA QUE ELE POSSA 'OUVIR'
CONEXOES EM TODAS AS INTERFACES
}

# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = bacula-dir = all, !skipped, !restored # AS MENSAGEM SAO ENCAMINHADAS PARA O
'BACULA-DIR' DEFINIDO NESSA LINHA
}
Agora vamos ajustar o arquivo do bconsole que como vamos conectar no bacula para fazer backup pela linha
de comando
vim /etc/bacula/bconsole.conf
#
# Bacula User Agent (or Console) Configuration File
#

Director {
Name = bacula-dir
DIRport = 9101
address = bacula.douglas.wiki.br
Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3L"
}
Agora vamos reiniciar o servio do bacula-fd
/etc/init.d/bacula-fd restart
Agora vamos listar verificar se o bacula est escutando
netstat -natu | egrep 9102
tcp 0 0 0.0.0.0:9102 0.0.0.0:* OUA
Agora no servidor bacula vamos ajustar a configurao do novo cliente
vim /etc/bacula/bacula-dir-clients-and-jobs.conf
[...]
#Inserir no final do arquivo
Job {
Name = "BackupDebian" # Nome do Job para Backup do Director (Proprio
Servidor Bacula)
JobDefs = "DefaultJobs" # JObDefs Definido
Client = debian-fd # Cliente fd
}

Client {
Name = debian-fd # Cliente fd
Last
update:
2014/07/02
13:18
instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
http://douglas.wiki.br/Printed on 2014/07/15 16:36
Address = debian.douglas.wiki.br # Ajustado no /etc/hosts
Password = "a5GGjJ4D7tRnm3C1TSLzU4glxdflLJ56OG77hjtT9zUF" # Senha do Director do Bacula
@/etc/bacula/clientes/basic-client # Arquivo onde contem informacoes sobre o cliente.
}
Agora vamos ajustar o /etc/hosts
vim /etc/hosts
127.0.0.1 localhost
192.168.0.80 bacula.douglas.wiki.br bacula
192.168.0.92 win2008.douglas.wiki.br win2008
192.168.0.85 win2012.douglas.wiki.br win2012
192.168.0.81 debian.douglas.wiki.br debian
Agora vamos reiniciar o bacula
/etc/init.d/bacula-dir restart
/etc/init.d/bacula-sd restart
/etc/init.d/bacula-fd restart
Agora vamos consultar o novo cliente no bconsole
bconsole
Connecting to Director bacula:9101
1000 OK: bacula-dir Version: 5.2.13 (19 February 2013)
Enter a period to cancel a command.
*status client=debian-fd
Connecting to Client debian-fd at debian.douglas.wiki.br:9102

debian-fd Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu debian 6.0.7
Daemon started 12-Abr-13 15:50. Jobs: run=0 running=0.
Heap: heap=135,168 smbytes=21,896 max_bytes=22,043 bufs=52 max_bufs=53
Sizeof: boffset_t=8 size_t=8 debug=0 trace=0
Running Jobs:
Director connected at: 12-Abr-13 15:51
No Jobs running.
====

Terminated Jobs:
====
*
Vamos fazer um backup dele para teste
*run
Automatically selected Catalog: Catalogo
Using Catalog "Catalogo"
A job name must be specified.
The defined Job resources are:
1: BackupCatalogo
2: RestoreFiles
3: BackupDirector
4: BackupWin2008
5: BackupDebian
Select Job resource (1-5): 5
Run Backup job
JobName: BackupDebian
Level: Incremental
Client: debian-fd
FileSet: Full Set
Pool: File (From Job resource)
Storage: File (From Job resource)
When: 2013-04-12 15:51:52
Priority: 10
2014/07/15 16:36 27/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
OK to run? (yes/mod/no): yes
Job queued. JobId=4
Mesma historia run para fazer o backup 5 para selecionar o meu cliente debian e yes para confirmar
Agora vamos consultar os jobs do cliente
*list jobs
+-------+----------------+---------------------+------+-------+----------+---------------+-----------+
| jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus |
+-------+----------------+---------------------+------+-------+----------+---------------+-----------+
| 1 | BackupCatalogo | 2013-04-12 15:13:50 | B | F | 1 | 43,545 | T |
| 2 | BackupDirector | 2013-04-12 15:14:03 | B | F | 1,891 | 8,068,884 | T |
| 3 | BackupWin2008 | 2013-04-12 15:29:26 | B | F | 72,791 | 4,444,285,065 | T |
| 4 | BackupDebian | 2013-04-12 15:54:20 | B | F | 1,655 | 22,404,559 | T |
+-------+----------------+---------------------+------+-------+----------+---------------+-----------+
*
Referncias
http://www.bacula.org/5.2.x-manuals/en/main/main/New_Features_in_5_2_x.html 1.
http://www.bacula.org/5.0.x-manuals/en/main/main/Windows_Version_Bacula.html 2.
http://sourceforge.net/mailarchive/forum.php?set=custom&viewmonth=&viewday=&forum_name=bacula-co 3.
mmits&style=nested&max_rows=100&submit=Change+View
http://tidahora.com.br/index.html/doku.php?id=start 4.
From:
http://douglas.wiki.br/ - Douglas Quintiliano dos Santos
Permanent link:
http://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese
Last update: 2014/07/02 13:18

You might also like