Montando um completo servidor de backup usando Bacula

Apresento o Bacula, poderosa plataforma cliente/servidor de backup. Com esse programa será possível implantar uma completa solução de cópia de dados em disco e/ou fita. Esse artigo tem caráter introdutório sobre o Bacula, servindo como referência na sua instalação e configuração. Quem busca uma ótima ferramenta de backup open source, completa em opções e de fácil configuração, Bacula é 10!

[ Hits: 335.584 ]

Por: Sandro Mendes em 29/12/2004


Configuração do Bacula



Como deu pra perceber, a instalação do Bacula é simples e sem complicações. Por padrão os arquivos de configurações ficam em /usr/local/etc. Agora é a hora da configuração do servidor e, para isso, deve-se entender sua estrutura organizacional. Divide-se em 3 partes:
  • o Director (bacula-dir.conf) é a parte mais complexa do sistema, afinal é a principal onde figura-se toda a configuração dos trabalhos de backup (job), agendamentos, pools, seleção do que fazer backup (FileSet), definição do tipo de armazenamento, etc. Enfim, é onde se configura os clientes e arquivos que irão fazer parte do backup, além de se comunicarem com os clientes e dispositivos de armazenamento.
  • File Daemon (bacula-fd.conf) representa uma espécie de agente, rodando em cada máquina que for participar de um trabalho de backup. Em resumo, todo cliente deverá ter rodando esse daemon, estabelecendo uma comunicação com o Director, que por sua vez gerencia todas essas comunicações.
  • Storage Daemon (bacula-sd.conf) é o arquivo de configuração do Bacula onde se insere os dispositivos de armazenamento, como fitas e discos. Esse daemon é responsável por estabelecer a comunicação com esses dispositivos.

Em resumo, a boa divisão das funções que compõem um serviço de backup do Bacula permite sua fácil configuração e administração. Para a configuração geral de um dado backup, edite o arquivo bacula-dir.conf; para configurar um cliente, é só editar o file daemon (bacula-fd.conf) na máquina que irá se comunicar com o servidor (onde se encontra a unidade de armazenamento); e para configurar o tipo de dispositivo que irá armazenar os trabalhos, é só editar o bacula-sd.conf.

Antes de iniciar a configuração desses 3 arquivos, deve-se ter em mente o sistema de backup que você irá adotar para sua empresa. Ele irá variar de acordo com a necessidade de negócio. Nesse artigo o exemplo de configuração será baseado no seguinte sistema:
  • Backup do próprio servidor, realizando a cópia completa de todos os sites hospedados, no período de Segunda à Sexta. Como deu pra perceber, configurei o Bacula no mesmo servidor Web, onde se encontra a unidade de dispositivo (fita DAT Sony SDT-9000).
  • Backup do servidor de e-mail, realizando a cópia de todas as pastas das contas existentes, também no mesmo período que o servidor Web. Esse é o cliente, rodando FreeBSD.

De acordo com os trabalhos definidos, agora é chegada a hora de configurar o Bacula para atender esses backups. Abaixo seguem os exemplos dos arquivos de configurações do servidor (onde se encontra a fita DAT). Não irei explicar todos os parâmetros de configuração, até porque são muitos. Como sempre, é só consultar o manual do Bacula para obter todas as informações sobre os recursos disponíveis.

Primeiro irei configurar o arquivo bacula-sd.conf, inserindo as principais diretivas sobre o dispositivo de armazenamento:

# vi /usr/local/etc/bacula-sd.conf

Storage {
  Name = "server-dir"
# por padrão o bacula já utiliza o nome do servidor em que foi instalado,
# nesse caso o director será identificado como server-dir

  SDPort = 9103
# porta de conexão com o daemon

  WorkingDirectory = "/var/db/bacula"
  PidDirectory =     "/var/run"
  SubSysDirectory =  "/var/db/bacula"
# diretórios utilizados pelo Bacula, também padrão
}

#
# List Directors who are permitted to contact Storage daemon
#

Director {
  Name = server-dir
  Password = "senha"
}


#
# Devices supported by this Storage daemon
# To connect, the Director must have the same Name and MediaType,
#  which are sent to the File daemon
#

Device {
  Name = "DDS-3"
  Media Type = DDS-3
  Archive Device = /dev/sa0
# nesse caso, o dispositivo configurado é uma fita DAT Sony SDT-9000,
# DDS-3. O caminho para acesso no FreeBSD é o /dev/sa0, portanto muita
# atenção para a configuração de acordo com seu sistema


  AutomaticMount = yes;  # when device opened, read it
  Offline On Unmount = yes
  AlwaysOpen = yes;
  RemovableMedia = yes;
  Hardware End of Medium = No
  BSF at EOM = yes
}

Messages {
  Name = Standard
  director = server-dir = all
  operator = root = mount
}
# mensagens também padrão

Agora é hora de configurar o bacula-fd.conf de nosso servidor, afinal ele também será backupeado. Em resumo, o único parâmetro alterado foi a conexão com o Director, onde você deve inserir a mesma senha cadastrada no

bacula-dir.conf

. Obviamente elas devem coincidir para que sejam estabelecidas as conexões entre o Director, seu cliente, e o dispositivo.

#
# Default Bacula File Daemon Configuration file
#
# 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 = server-dir
  Password = "senha"
}

#
# "Global" File daemon configuration specifications
#

FileDaemon {
  Name = ns2-fd
  FDport = 9102    
  WorkingDirectory = /var/db/bacula
  Pid Directory = /var/run
# arquivos de conexão com o daemon, também padrão
}

# Send all messages except skipped files back to Director
Messages {
  Name = Standard
  director = server-dir = all, !skipped
}

Como teremos 2 clientes, o próprio servidor e outra máquina, tendo seus dados backupeados é preciso configurar somente o file daemon (bacula-fd.conf) da máquina conectada em rede. Antes disso, é preciso instalar o Bacula com a opção -enable-only-client. Após essa etapa, é só editar o arquivo com as mesmas configurações acima. Depois é só startar seu daemon. Para ter certeza de que tudo está em ordem com esse cliente, certifique-se de que o daemon esteja rodando:

# ps awux | grep bacula
bacula    25934  0.0  0.7  3104 1892  ??  Ss   Mon03PM   0:23.72 /sbin/bacula-fd -v -c /usr/local/etc/bacula-fd.conf

Beleza, está funcionando. A porta 9102 está aberta, pronta pra estabelecer conexão com o servidor quando esse efetuar o backup.

Agora é chegada a hora de configurar o arquivo principal do Bacula, o Director. Nele iremos inserir os jobs, agendamentos, clientes e os arquivos a serem backupeados:

#
# Kerns Production Bacula Director Daemon Configuration file
#


Director {
  Name = server-dir
  DIRport = 9101     # where we listen for UA connections
  QueryFile = "/usr/local/etc/query.sql"
  WorkingDirectory = "/var/db/bacula"
  PidDirectory =     "/var/run"
  SubSysDirectory =  "/var/db/bacula"
  Maximum Concurrent Jobs = 2
# como teremos 2 jobs sendo executados num mesmo agendamento, a #parâmetro foi alterado. O padrão é 1.
  Password = senha
}


Schedule {
  Name = "Diario"
  Run = Level=Full Pool=SegundaPool Monday at 10:00pm
  Run = Level=Full Pool=TercaPool Tuesday at 10:00pm
  Run = Level=Full Pool=QuartaPool Wednesday at 10:00pm
  Run = Level=Full Pool=QuintaPool Thursday at 10:00pm
  Run = Level=Full Pool=SextaPool Friday at 10:00pm
# no agendamento, o backup será realizado
# de segunda à sexta, sempre às 22 horas. Criei um pool dos
# volumes para cada dia, afinal cada fita terá sua label
# para cada dia.

}

Job {
# essa é a configuração do trabalho do cliente, a maquina remota.
  Name = "Servidor NS1"
  Type = Backup
  Level = Full #backup do tipo full
  Client=ns1-fd #esse parâmetro será configurado logo abaixo
  FileSet="Server-NS1" #seleção do que será backupeado, também logo #abaixo
  Messages = Standard
  Storage = DDS-3 #dispositivo onde será armazenado o job
  Pool = Default
  Schedule = "Diario"
  Write Bootstrap = "/var/db/bacula/Client1.bsr"
  Priority = 10
}

Job {
  Name = "Servidor NS2-local"
  Type = Backup
  Level = Full
  Client=ns2-local
  FileSet="Server-NS2"
  Messages = Standard
  Storage = DDS-3
  Pool = Default
  Schedule = "Diario"
  RunAfterJob = "/usr/local/etc/ejeta_tape.sh" # esse parâmetro especifica a
  # execução de um comando após o término do job. Esse script faz com que a
  # mídia seja desmontada e ejetada. O script está disponível no término desse
  # arquivo.
  Write Bootstrap = "/var/db/bacula/Client1.bsr"
  Priority = 10
}

# Standard Restore template, to be changed by Console program
Job {
  Name = "RestoreFiles"
  Type = Restore
  Client= ns2-local
  FileSet="Full Set"
  Storage = DDS-3
  Messages = Standard
  Pool = Default
  Where = /tmp/bacula-restores
}

FileSet {
# insira os arquivos/diretórios que deverão ser copiados
  Name = "Server-NS2"
  Include = signature=MD5 {
     /www
  }
  Exclude = {
  # caso queira excluir algum diretório
  /www/data
  /tmp/* }
}

FileSet {
  Name = "Server-NS1"
  Include = signature=MD5 {
     /var/mail
  }
  Exclude = {
  /tmp/* }
}


FileSet {
  Name = "Full Set"
  Include = signature=MD5 {
     # @/etc/backup.list
  }
  Exclude = { }
}


# Definição do dispositivo de armazenamento
Storage {
  Name = DDS-3
  Address = 172.16.0.3 #atenção, coloque sempre o IP e não localhost
  SDPort = 9103
  Password = senha
  Device = "DDS-3" # deve ser o mesmo do que o especificado no
  # bacula-sd.conf
  Media Type = DDS-3    
}

# máquina local
Client {
  Name = ns2-local
  Address = localhost
  FDPort = 9102
  Catalog = BackupDB
  Password = senha
  File Retention = 30d   # 80 days
  Job Retention = 1y     # one year
  AutoPrune = yes        # Prune expired Jobs/Files
}

# máquina remota
Client {
  Name = ns1-fd
  Address = 172.16.0.2
  FDPort = 9102
  Catalog = BackupDB
  Password = senha
  File Retention = 30d  # 80 days
  Job Retention = 1y    # one year
  AutoPrune = yes       # Prune expired Jobs/Files
}

Catalog {
  Name = BackupDB
  dbname = bacula; user = bacula; password = ""
}

# o Bacula oferece o recurso de enviar os relatórios (logs)
# por e-mail. Para isso insira o seu servidor smtp e
# seu e-mail
Messages {
  Name = Standard
  mailcommand = "/home/bacula/bin/smtp -h servidor.smtp -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/home/bacula/bin/smtp -h servidor.smtp -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
  MailOnError = usuario@mail.com = all
  append = "/home/bacula/bin/log" = all
  operator = YOUR-EMAIL@YOU.com = mount
  console = all
}
    

Pool {
  Name = Default
  Pool Type = Backup
  Recycle = yes    # Bacula can automatically recycle Volumes
  AutoPrune = yes  # Prune expired volumes
  Volume Retention = 1d # one year
}

Pool {
  Name = SegundaPool
  Pool Type = Backup
  Recycle = yes                      
  AutoPrune = yes                    
  Volume Retention = 6d # o volume poderá ser utilizado novamente
  # para backup após 6 dias
  Accept Any Volume = yes
}
Pool {
  Name = TercaPool
  Pool Type = Backup
  Recycle = yes                      
  AutoPrune = yes                    
  Volume Retention = 6d
  Accept Any Volume = yes
}

Pool {
  Name = QuartaPool
  Pool Type = Backup
  Recycle = yes                      
  AutoPrune = yes                    
  Volume Retention = 6d
  Accept Any Volume = yes
}

Pool {
  Name = QuintaPool
  Pool Type = Backup
  Recycle = yes                      
  AutoPrune = yes                    
  Volume Retention = 6d
  Accept Any Volume = yes
}

Pool {
  Name = SextaPool
  Pool Type = Backup
  Recycle = yes                      
  AutoPrune = yes                    
  Volume Retention = 6d
  Accept Any Volume = yes
}

Agora crie um script ejeta_tape.sh e salve em /usr/local/etc/. Não esqueça de definir permissão sobre esse arquivo para que o Bacula possa executá-lo.

#!/bin/sh

/usr/local/sbin/bconsole -c /usr/local/etc/bconsole.conf <<END_OF_DATA
unmount
quit
END_OF_DATA

Após a configuração desses 3 arquivos no servidor, o serviço Bacula deverá ser iniciado. No meu caso, a instalação criou o daemon que controla os serviços em /usr/local/etc/rc.d.

# bacula.sh start

Caso não haja erro de configuração, o Bacula será iniciado e pronto pra executar os trabalhos de backup. Para confirmar sua execução:

# ps awux | grep bacula
bacula 50839  0.0  0.4  3068 1864  ??  Ss    4:20PM   0:09.66 /usr/local/sbin/bacula-sd -u bacula -g operator -v -c /usr/local/etc/
root   50841  0.0  0.4  3024 1844  ??  Ss    4:20PM   0:20.00 /usr/local/sbin/bacula-fd -u root -g wheel -v -c /usr/local/etc/bacul
bacula 50845  0.0  0.5  5800 2564  ??  Ss    4:20PM   0:10.23 /usr/local/sbin/bacula-dir -u bacula -g bacula -v -c /usr/local/etc/b
root   53861  0.0  0.2  1448  848  p0  S+   11:40AM   0:00.00 grep bacula

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configuração do Bacula
   3. Administrando o Bacula
   4. Considerações finais
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Alta Disponibilidade com LVS

Criando VPNs entre servidores Linux sem mistérios (parte I)

Backup de sua instalação em .iso bootável

Melhorias generalizadas de segurança (parte 2)

Deface: A arte de desconfigurar sites

  
Comentários
[1] Comentário enviado por fabio em 29/12/2004 - 23:13h

Excelente artigo, parabéns! Com certeza vou testar essa ferramenta aqui em casa e em clientes, ainda mais porque ela faz parte do repositório oficial da distribuição Debian:

# apt-cache search bacula

- bacula
- bacula-client
- bacula-console
- bacula-console-gnome
- bacula-director-mysql
- bacula-director-pgsql
- bacula-director-sqlite
- etc

[]'s

[2] Comentário enviado por jabuka em 30/12/2004 - 09:00h

Pessoal, gostaria de acrescentar um comando que ficou faltando no artigo. Segundo o apresentado, o backup será diário, com cada fita recebendo uma label. Porém, quando o trabalho se inicia, o dispositivo (no caso a fita) precisa estar montada; dai precisaríamos entrar no console e entrar com o comando mount.
Para automatizar esse processo, insira no bacula-dir.conf, dentro do parâmetro job (o primeiro a ser executado) a seguinte linha:
RunBeforeJob = "/usr/local/etc/monta_tape.sh"
Depois, é só criar esse script:
#!/bin/sh
/usr/local/sbin/bconsole -c /usr/local/etc/bconsole.conf <<END_OF_DATA
mount
quit
END_OF_DATA

Desculpem pela falha... espero ter ajudado :-)
Abraços
Sandro Mendes

[3] Comentário enviado por ThE_BoOt em 30/12/2004 - 10:20h

Excelente artigo, agora vamos ao aprofundamento... :) procurar a página oficial do bacula e ver se tem clientes para windows, se grava em cd, etc...

Parabens Sandro

[4] Comentário enviado por rjacomel em 30/12/2004 - 15:46h

Parabéns Sandro!

Excelente artigo! Baseado nele fiz uma configuração utilizando Red Hat 9 e BD MySQL com armazenamento dos backups em disco e deu tudo certo.

Valew

Ricardo Jacomel

[5] Comentário enviado por apscherbach em 27/10/2005 - 09:48h

Ótimo artigo.

Mas no caso, se eu quiser fazer o backup em um hd, eu tenho que criar um "dipositivo" para cada dia que o backup for ser executado? Na mesma estrutura das fitas usadas no artigo, só que com pastas em um hd?
É isso?

Adriano Scherbach

[6] Comentário enviado por removido em 03/10/2006 - 14:41h

ASPCHERBACH DA UMA SACADA E VE SE DA PRA ENTENDER, ESSES ARQUIVOS SAO PRA CRIAR OS VOLUMES NO HD,COMO VC QUERIA

######################################################################################
## ##
## bacular-dir.conf ##
## ##
######################################################################################

Director { # define myself
Name = slsjainfra-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/etc/bacula/query.sql"
WorkingDirectory = "/work/bacula/working"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 1
Password = "teste" # Console password
Messages = Standard
}

# OBSERVACOES

# Pool 'PoolSeg...PoolSex' recebem os backups diarios. Tem retencao de 7 dias.

# Sequencia de definicao seguida no esquema deste arquivo de configuracao:
# 1) definicao de 'SCHEDULER'
# 2) definicao de 'JOB' e seu 'FILESET'
# 3) definicao de 'CLIENT'
# 4) definicao de 'STORAGE'
# 5) definicao de 'CATALOG'
# 6) definicao de 'MESSAGE'
# 7) definicao de 'POOL'


### DEFINICOES SCHEDULES #################################################################

#Schedule salteado, podendo fazer um full na segunda e na terca e os demais dias fazer incremental nesses volumes
Schedule {
Name = "Diario"
Run = Level=Full Pool=Pool_01 Monday at 08:46am # segunda, quarta e sexta incremental no memso pool
Run = Level=Full Pool=Pool_02 Tuesday at 08:46am # terca, quinta e sabado incremental
}

### DEFINICOES JOBS/FILESETS ############################################################

## Configuracoes genericas para a maioria dos JOBS
Job {
Name = "Backup_01"
Type = Backup
Level = Full
Schedule = "Diario"
# JobDefs = "DefaultJob"
Client = slsja0402-fd #############backup para o disco local###################
Messages = Standard
FileSet = "diarioFS"
Write Bootstrap = "/work/bacula/working/backup_02.bsr"
Priority = 1 # run after main backup
Storage = armlocal
Pool =Pool_01
}

Job {
Name = "Backup_02"
Type = Backup
Level = Full
Schedule = "Diario"
# JobDefs = "DefaultJob"
Client = slsja0402-fd #############backup para o disco local###################
Messages = Standard
FileSet = "diarioFS"
Write Bootstrap = "/work/bacula/working/Backup_02.bsr"
Priority = 1 # run after main backup
Storage = armlocal
Pool = Pool_02
}

#Este tipo de configuracao de File Set e feita para backup de clientes Windows
FileSet {
Name = "diarioFS"
Include {
Options {
compression= GZIP
IgnoreCase = yes
}
File = "c:/pacotes"
}
}
#----------------------------------------------------------------------------------------
###########JOBS DE RESTORE PARA SEREM USADOS NO CONSOLE###########################
Job {
Name = "Restaurar_01"
Bootstrap = "/work/bacula/working/backup_01.bsr"
Type = Restore
Client = slsja0402-fd
FileSet = "diarioFS"
Storage = armlocal
Messages = Standard
Pool = Pool_01
Where = ""
}

Job {
Name = "Restaurar_02"
Bootstrap = "/work/bacula/working/backup_02.bsr"
Type = Restore
Client = slsja0402-fd
FileSet = "diarioFS"
Storage = armlocal
Messages = Standard
Pool = Pool_02
Where = ""
}

## DEFINICOES DOS CLIENTES FILEDAEMON ####################################################
#RESPONSAVEL PELA COMUNICACAO COM O CLIENTE
Client {
Name = slsja0402-fd
Address = 192.168.0.165
FDPort = 9102
Catalog = MyCatalog
Password = "teste" # password for FileDaemon
File Retention = 2 months
Job Retention = 2 months
AutoPrune = yes # Prune expired Jobs/Files
}

# Definiton of file storage device #######################################################
Storage {
Name = armlocal
Address = slsjainfra
SDPort = 9103
Password = "teste"
Device = dev-arquivo
Media Type = File
Autochanger = yes
}

Catalog {
Name = MyCatalog
dbname = bacula; user = bacula; password = ""
}

Messages {
Name = Standard
console = all, !skipped, !saved
append = "/work/bacula/working/log" = all, !skipped
}

#----------------------------------------------------------------------------------------
# Default pool definition

# Pool para backup na Segunda com retencao de 7 dias
Pool {
Name = Pool_01
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Use Duration = 23h
LabelFormat = "Vol"
Volume Retention = 90 days #
Accept Any Volume = yes # write on any volume in the pool
}

#----------------------------------------------------------------------------------------
# Pool para backup na Terca com retencao de 7 dias
Pool {
Name = Pool_02
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
Volume Use Duration = 23h
LabelFormat = "Vol"
AutoPrune = yes # Prune expired volumes
Volume Retention = 90 days #
Accept Any Volume = yes # write on any volume in the pool
}
#---------------------------------------------------------------------------------------

************************************************************

################################################################
# Default Bacula Storage Daemon Configuration file #
################################################################
# For Bacula release 1.38.4 (14 January 2006) -- redhat (Stentz)
#
# 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 = slsjainfra-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/bacula"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 20
}

#
# List Directors who are permitted to contact Storage daemon
#
Director {
Name = slsjainfra-dir
Password = "teste"
}

# Devices supported by this Storage daemon
# To connect, the Director's bacula-dir.conf must have the
# same Name and MediaType.
#

Device {
Name = dev-arquivo
Media Type = File
Archive Device = /etc/bacula/backup
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
SpoolDirectory = /tmp/backup;
LabelMedia = yes;
}
#Posso criar outros devices de outros clientes para outros clientes,com LabelMedia=yes tambem, nos mesmos pool diarios,
#mas com nomes de volumes diferentes.
#Device {
# Name = DDS3
# Description = "DDS-3 for Fedora"
# Media Type = DDS-3
# Archive Device = /dev/st0
# 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;
#}

Device {
Name = DDS3
Media Type = DDS-3
Archive Device = /dev/st0
AutomaticMount = yes; # when device opened, read it
Offline On Unmount = yes
AlwaysOpen = yes;
RemovableMedia = yes;
Hardware End of Medium = No
BSF at EOM = yes
}

# Send all messages to the Director,
# mount messages also are sent to the email address
Messages {
Name = Standard
director = slsjainfra-dir = all
operator = root = mount
}

************************************************************

#################################################################
# Default Bacula File Daemon Configuration file #
#################################################################
# For Bacula release 1.38.4 (14 January 2006) -- redhat (Stentz)
#
# 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 = slsjainfra-dir
Password = "teste"
}

#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
Director {
Name = slsjainfra-dir
Password = "teste"
Monitor = yes
}

#
# "Global" File daemon configuration specifications
#
FileDaemon { # this is me
Name = slsjainfra-fd
FDport = 9102 # where we listen for the director
WorkingDirectory = /var/bacula
Pid Directory = /var/run
Maximum Concurrent Jobs = 20
}

# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = slsjainfra-dir = all, !skipped
}

[7] Comentário enviado por c.rafael em 04/01/2008 - 10:44h

OPa, ...

vc já usaram SNMP no bacula? Quero monitotar o mesmo, mas quando do o comando: "./configure --help" não aparece nada sobre SNMP.

Alguém saberia me dizer como eu faço?

[8] Comentário enviado por tecnoplace em 10/03/2008 - 13:23h

amigos eu fiz as configuracoes ai mas o meu bacula director daemon esta como down. uso o webadmin para administrar o servidor linux. qdo eu mando reiniciar o bacula aparece a seguinte mensagem.
Failed to start Bacula : No init script found for bacula-dir
o q pode ser???

[9] Comentário enviado por timbeh em 19/05/2008 - 10:34h

Como faço para ter um storage em outro servidor?
Obrigado!

[10] Comentário enviado por anakoliveira em 11/06/2008 - 15:10h

Sandro, excelente artigo. Estou tentando configurar o Bacula aqui na empresa, porém estou encontrando algumas dificuldades.

1º Utilizo o Fedora 8;
2º Banco Postgre;
3º Configurei o banco e os arquivos da maneira como orientou, porém ao subir os serviços, ocorre o erro: "Starting bacula-dir: grep: /etc/bacula/bacula-dir.conf: Arquivo ou diretório não encontrado
11-Jun 15:01 bacula-dir: ERROR TERMINATION at parse_conf.c:819
Config error: Cannot open config file "/etc/bacula/bacula-dir.conf": Arquivo ou diretório não encontrado [FALHOU]". Este erro ocorre para os 3 serviços;
4º Outra coisa, quero configurar o meu backup para armazenar em uma unidade externa (HD), como faço?

Aguardo resposta.

Um abraço,

Ana Carpes
anakoliveira@yahoo.com.br

[11] Comentário enviado por desenvolvedormg em 12/06/2008 - 14:21h

Opa, muito boa a matéria me ajudou e muito.
Porem ainda estou com algumas dificuldades.

Seguinte, tenho um script que ja cria um backups do meu banco de dados e das pastas dos scripts.

Ele funfa da seguinte forma.. A cada 1 hora crio 1 backup full do banco de dados e limito o numero de arquivos que irei guardar a 24 arquivos...
Já os scripts eu crio um backup full todo dia e limito a 7 arquivos. entao eu tenho 1 arquivo por semana..

Porem esses backups ficam muito grandes, entao queria fazer da seguinte forma... continuar com 24 arquivos para o banco de dados backpeando a cada 1 hora(No bacula eu nao consegui separar os backups, todos os backups estao indo para o mesmo volume, entao 1 acaba subistituindo o outro).... ja os scripts eu queria backupear 1 full a cada segunda feira e incremental durante a semana(Consegui fazendo 1 pool para cada dia da semana, porem quando chega na outra segunda eu perco o full da semana passada ai nao faz sentido existirem os incrementais...).

A minha duvida é a seguinte... como faço para que assim que fechar a semana eu mudar de volume e assim que chegar a um tanto de volumes eu voltar para o inicio e começar a sequencia dnovo?


Forte abraço.

Wladiston Paiva
desenvolvedormg@gmail.com

[12] Comentário enviado por jacoramos em 06/08/2008 - 10:58h

Pessoal bom dia..

Amigos nao sei se na minha fita está gravando por cima ou continuando a gravacao de onde parou ..

Dei um: list volumes
Pool: Quarta
+---------+------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+---------------------+
| MediaId | VolumeName | VolStatus | Enabled | VolBytes | VolFiles | VolRetention | Recycle | Slot | InChanger | MediaType | LastWritten |
+---------+------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+---------------------+
| 13 | VQUARTA | Append | 1 | 129,024 | 1 | 518,400 | 1 | 0 | 0 | DAT-72 | 2008-08-06 08:59:29 |
+---------+------------+-----------+---------+----------+----------+--------------+---------+------+-----------+-----------+---------------------+

E em VolStatus = Append , parece que esta gravando na sequencia e nao por cima como prentendo..

Vcs me confirma isso que falei ???

Ou por default a gravacao na fita já sobrescreve o conteudo existente ??w

Grato.

Jacó Ramos

[13] Comentário enviado por jacoramos em 14/08/2008 - 09:41h

Pessoal tem um forum muito legal do bacula no link:

http://forum.tambis.org/viewforum.php?f=13

Grato.

Jacó Ramos

[14] Comentário enviado por jacoramos em 14/08/2008 - 09:44h

Pessoal acho que a minha reciclagem automatica nao está funcionando.

Hoje sao quarta dia 13 e quando dou um *list volumes veja o que retorna:

Pool: Quarta
+---------+------------+-----------+---------+---------------+----------+--------------+---------+------+-----------+-----------+---------------------+
| MediaId | VolumeName | VolStatus | Enabled | VolBytes | VolFiles | VolRetention | Recycle | Slot | InChanger | MediaType | LastWritten |
+---------+------------+-----------+---------+---------------+----------+--------------+---------+------+-----------+-----------+---------------------+
| 13 | VQUARTA | Append | 1 | 1,281,595,392 | 3 | 518,400 | 1 | 0 | 0 | DAT-72 | 2008-08-06 22:02:21 |
+---------+------------+-----------+---------+---------------+----------+--------------+---------+------+-----------+--------


Veja que a ultima vez que escrevi foi dia 06 - na quarta passada. E o status continua Append.

Não era pra estar com outro status pois ja se passaram os 6 dias lá da configuracao do Pool.

Veja meu Pool de Quarta:

Pool {
Name = Quarta
Pool Type = Backup
AutoPrune = yes
Volume Retention = 6 days
Recycle = Yes
}


Alguem tem alguma dica do que possa ser checado pra ver se a reciclagem esta funcionando /????


Grato.

Jacó Ramos

[15] Comentário enviado por gordux em 19/11/2008 - 16:39h

Senhores,
Estou com um problema que é o seguinte, estou fazendo um teste com o bacula e coloquei o schedule full para rodar 1:00pm e um Incremental 1:30pm, tudo na quarta.
Ele rodou o full certinho depois ele rodou o incremental também certinho, ae para testar eu mudei a hora do full e do incremental, ae ele rodou somente o Incremental, Porque?, porque ele não rodou o full também??

Grato

[16] Comentário enviado por FireBird em 19/05/2009 - 23:40h

Opa... E ae cara... montei 1 bacula aki esses dias e to com 1 problema...

O automatic recycling dele nao ta funfando... c sabe como faço pra fazer manual?

[17] Comentário enviado por davirodrigues em 21/05/2009 - 11:15h

jabuka instalei um bacula aqui, só que estou com um problema, segue abaixo o mesmo, vê se vc pode me ajudar, ou alguem que tenha passado por isso:

*status
Status available for:
1: Director
2: Storage
3: Client
4: All
Select daemon type for status (1-4): 2
Automatically selected Storage: File
Connecting to Storage daemon File at 127.0.0.1:9103

cilindro-sd Version: 2.2.8 (26 January 2008) i486-pc-linux-gnu debian lenny/sid
Daemon started 21-May-09 11:02, 0 Jobs run since started.
Heap: heap=221,184 smbytes=10,833 max_bytes=76,108 bufs=59 max_bufs=62
Sizes: boffset_t=8 size_t=4 int32_t=4 int64_t=8

Running Jobs:
No Jobs running.
====

Jobs waiting to reserve a drive:
====

Terminated Jobs:
JobId Level Files Bytes Status Finished Name
===================================================================
1 Full 0 0 Error 19-May-09 14:37 Client1
8 Full 0 0 OK 21-May-09 09:36 Cpd02
10 Full 0 0 Cancel 21-May-09 09:48 Cpd02
====

Device status:
Device "storage" (/mnt/backup) is not open. <<<<<< # Esse é o problema, ele sempre fica assim, ja não sei o que fazer...
====

In Use Volume status:
====

====

[18] Comentário enviado por brunonunes em 11/12/2009 - 11:38h

davirodrigues tive o mesmo problema que o seu, após execuçao de um job ele desmonta a fita, resolvi esse problema configurando a opçao automount on na console de config do bacula....


estou com um problema referente ao tamanho do meu volume de dados que é maior que o tamanho das fitas que utilizo DDS-5 72 Gb..

oq sugerem como soluçao para um backup full, utilizar um pool de fitas ou utilizar uma estrategia diferente de backup full.

[19] Comentário enviado por Jeparre em 30/12/2009 - 15:37h

Olá Pessoal.
Por favor, alguém poderia me ajudar.

Quando dou start no bacula aparece o seguinte erro: ERROR TERMINATION at dird_conf.c:1352 mediatype item is required in storage resource, but not found.

Meu bacula-sd:
Storage {
Name = server-sd
SDPort = 9103
WorkingDirectory = "/var/bacula/working"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 1
}
Director {
Name = server-dir
Password = "senha"
}
Device {
Name = HD
Device Type = File
Media Type = File
Archive Device = /media/DADOS/Backup
SpoolDirectory = /media/DADOS/Backup/tmp;
LabelMedia = yes;
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}
Messages {
Name = Standard
director = server-dir = all
}

Desde já agradeço!!
Valeu!

Contato: jeparre@gmail.com

[20] Comentário enviado por tiago.pacato em 25/03/2010 - 10:15h

Instalei o servidor bacula em uma maquina normal com hds de 250 gb, os backups estão sendo feitos normalmente, os catalagos criados, tudo ok. a dúvida é, para passar os backups que ja foram feitos nessa maquina para uma maquina nova que acabamos de adquirir, o que eu poderia fazer? para não perder o que ja foi feito no servidor bacula antigo.

Grato!


contato: tiago.rjonatas@gmail.com

[21] Comentário enviado por JJSantos em 11/03/2017 - 01:19h


[20] Comentário enviado por tiago.pacato em 25/03/2010 - 10:15h

Instalei o servidor bacula em uma maquina normal com hds de 250 gb, os backups estão sendo feitos normalmente, os catalagos criados, tudo ok. a dúvida é, para passar os backups que ja foram feitos nessa maquina para uma maquina nova que acabamos de adquirir, o que eu poderia fazer? para não perder o que ja foi feito no servidor bacula antigo.

Grato!


contato: tiago.rjonatas@gmail.com


Copiar as configuração, ou faz uma imagem do servidor.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts