Configuração com include

752 views
Skip to first unread message

Marcelo

unread,
Aug 10, 2011, 9:37:49 AM8/10/11
to Bacula Backup-Pt-Br
Pessoal,
Será que algum dos companheiros tem algum template de configuração do
bacula usando includes? Pelo que vi parece ser mais organizado. E
falando nisso, qual a opinião dos companheiros em relação aos métodos,
etc?

Raul Libório

unread,
Aug 10, 2011, 9:44:08 AM8/10/11
to bacula-ba...@googlegroups.com
Olá,

Eu fiz dessa maneira:
1. criei o diretório /etc/bacula/conf.d/
2. Dentro desse diretório, criei os arquivos clientes, filesets, jobs, pools
3. O bacula-dir.conf ficou desse modo:
(pequeno trecho)

# JOBS E JOBDEFS
@/etc/bacula/conf.d/jobs

# FILESET
@/etc/bacula/conf.d/filesets

4. E dentro dos arquivos, nada em especial. Por exemplo, o filesets:
# CATALOGO
FileSet {
Name = "Catalog"
Include {
Options {
signature = MD5
}
File = "/var/bacula/working/bacula.sql"
}
}

# SERVIDOR DE ARQUIVOS
#
FileSet {
Name = "fs-fileserver"
Include {
Options {
Signature = MD5
}
# Backup:
# Arquivos de rede: Setores, Projetos e Sistemas
# Diretório home dos usuários

File = /arquivos/setores
File = /arquivos/projetos
File = /arquivos/sistemas
File = /home

}
}

Só isso :)

2011/8/10 Marcelo <marce...@gmail.com>:

> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Bacula Backup-Pt-Br" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para bacula-ba...@googlegroups.com.
> Para cancelar a inscrição nesse grupo, envie um e-mail para bacula-backup-p...@googlegroups.com.
> Para obter mais opções, visite esse grupo em http://groups.google.com/group/bacula-backup-pt-br?hl=pt-BR.
>
>

--
Raul Libório

http://rauhmaru.blogspot.com/
rauhmarutsªhotmailºcom
 openSUSE Member | Linux User #4444581

"There are only 10 types of people in the world -
Those who understand binary, and those who don't."

Ana Elisa Frecchiani

unread,
Aug 10, 2011, 9:46:17 AM8/10/11
to bacula-ba...@googlegroups.com
Aqui vai o exemplo com include:

#
#  Bacula Director - Arquivo de configuração
#
#  Configuração de backups

#  For Bacula release 5.0.2 (28 April 2010)
#  Debian Squeeze/Sid


################
### DIRETOR  ###
################

# Este serviço é responsável pela administração de todos os processos de backup, restore, verificação e arquivamento.
# O Administrador do sistema usa o director daemon para efetuar agendamentos de backup e recuperar arquivos.

Director {
# Nome do diretor. Chamado assim pelo fd e sd
  Name = bacula-dir
# Porta padrão de conexão do diretor e do bconsole
  DIRport = 9101
# Descrição do servidor. Aparecerá quando for realizado o acesso ao bacula.
  Description = "Sistema de backup"
# Arquivos de comandos personalizados de pesquisa SQL.
  QueryFile = "/etc/bacula/scripts/query.sql"
# Pasta de trabalho do bacula
  WorkingDirectory = "/var/bacula/working"
# Diretório dos processos Bacula
  PidDirectory = "/var/run/bacula"
# Número máximo de jobs simultâneos que podem acontecer no diretor.
# Deve ser maior que 1 para os storages utilizados.
  Maximum Concurrent Jobs = 50
# Opção para evitar erros de time out entre as conexões do fd e sd com o diretor
  Heartbeat Interval = 120
  Password = "xxxxxxx"
# Caminho onde as mensagens genéricas do Bacula devem ser enviadas
  Messages = daemon-messages
}

###############
### STORAGE ###
###############

# Local para configurar quais são os bacula-sd (Storage Daemons) que serão utilizados pelo director.
# Podem ser configurados quantos dispositivos forem necessários.

Storage {
# Nome do storage. Pode ser utilizado qualquer nome, mas a pós a definição ele deve ser exatamente igual à configuração correspondente no bacula-sd.
   Name = bacula-sd
# Endereço do Storage Daemon
   Address = 192.168.2.255
   SDPort = 9103
   Password = "XXXXXX"
# Pode ser utilizado um nome escolhido pelo administrador desde que seja igual ao constante do bacula-sd.conf que o backup vai funcionar.
# Boa prática é colocar um nome representativo do device.
   Device = FileStorage
# O tipo de mídia também pode utilizar um nome aletório.
# Deve-se salientar que backups gravados com o media type x não poderão ser lidos por um device cuja configuração esteja em media type y, ou seja, serve para segregar os diferentes tipos de mídia para o bacula.
   Media Type = File
}

##########################################
##### CONFIGURACAO DO CATALOGO - BD  #####
##########################################

# E o responsável por manter a indexação de todos os arquivos que são armazenados no backup e gerar uma base de dados dos volumes gerenciados pelo Director Daemon.
# O Catalog agiliza a busca de um arquivo no backup na hora que o administrador de sistema necessita efetuar uma restauração.

Catalog {
# Este nome geralmente não é alterado. A não ser que esteja trabalhando com dois catálogos distintos, quando estes deverão ter nomes distintos. Não precisa estar relacionado ao nome real do banco de dados.
  Name = MyCatalog
# Descomente a linha abaixo se for utilizar o dbi driver
# dbdriver = "dbi:sqlite3"; dbaddress = 127.0.0.1; dbport = 
# Informações criadas por padrão na instalação do bacula. O dbpassword esta em branco pois o banco nao possui senha
  dbname = "bacula"; dbuser = "bacula"; dbpassword = ""
}

##############################################
########## CONFIGURACAO DE CLIENT'S ##########
##########         @Include         ##########
##############################################

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

##############################################
##########   CONFIGURACAO DE POOLS  ##########
##########         @Include         ##########
##############################################

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

##############################################
########## CONFIGURACAO DE SCHEDULE ##########
##########         @Include         ##########
##############################################

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

##############################################
##########    CONFIGURACAO DE JOB   ##########
##########         @Include         ##########
##############################################

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

#########################
##### JOB's RESTORE #####
#####   @Include    #####
#########################

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

##############################################
########## CONFIGURACAO DE FILESETS ##########
##########         @Include         ##########
##############################################

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


###########################################################################################################################
######################################################## MESSAGES #########################################################
###########################################################################################################################

# Espaço destinado a definição do tratamento que será dado às mensagens e como deverão ser enviadas pelo Bacula
# Cada daemon do Bacula é capaz de mandar mensagens. Entretanto, por uma questão de organização, por padrão elas são enviadas ao director
# que as centraliza e repassa aos usuários configurados.

#########################
#### DAEMON-MESSAGES ####
#########################

Messages {
# Nome arbitrário, cnfigurado por padrão e que serve como endereço para que o job e/ou daemon envie suas mensagens.
    Name = daemon-messages
# Opção para personalização das mensagens. vem configurado por padrão.
# Opções disponíveis para personalização:
# %% = %
# %c = Nome do Cliente
# %d = Nome do Director
# %e = Código de saída do job (OK, Error, ...)
# %i = Job Id
# %j = Nome único do Job
# %l = Job Level
# %n = Nome do job
# %r = Recipientes
# %t = Tipo de Job (e.g. Backup, ...)
    MailCommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula Sistema de Backup: %t %e de %c %l\" %r" OperatorCommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula Sistema de Backup: Intervencao necessaria para %j\" %r"
# Espaço para inserção de um ou mais emails (separados por vírgula), para receber as mensagens do Bacula relativas aos jobs.
# A opção "!skipped" ignora as mensagens que o Bacula não interpreta como erro: (exemplo: arquivos exxcluídos do FileSet).
    Mail = sup...@geocontrol.com.br = all, !skipped
# Esta especificação do recurso é semelhante ao MailCommand exceto que ele é usado para mensagens de operador. As substituições realizadas pelo MailCommand também são feitas para esse comando.
# Normalmente, você irá definir este comando para o mesmo valor especificado para o MailCommand.
# A directiva OperatorCommand deve aparecer no recurso mensagens antes da directiva do operador.
    Operator = root@localhost = mount
# Comando responsável pelo envio das mensagens para o bconsole, que podem ser lidas através do comando messages, ou automaticamente, se assim configurado.
    Console = all, !skipped, !saved
# Comando para inserir a mensagem enviada no final de um arquivo do servidor (append).
    Append = "/var/lib/bacula/log" = all, !skipped
# Opção para armazenar as mensagens do catálogo, permitindo que sejam adquiridas e exibidas por programas específicos
    Catalog = all, !skipped, !saved
}

########################
#### JOB-MESSAGES ####
########################

Messages {
    Name = job-messages
# Configurações do envio de mensagens dos jobs do Bacula
    MailCommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula Sistema de Backup: %t %e de %c %l\" %r" OperatorCommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula Sistema de Backup: Intervencao necessaria para %j\" %r"
    Mail = sup...@geocontrol.com.br = all, !skipped
    Operator = root@localhost = mount
# Faz a mesma função da opção "Mail", mas somente se o job encerrar com "erro"
    Mail on error = sup...@geocontrol.com.br = all, !skipped
    Console = all, !skipped, !saved
    Append = "/var/lib/bacula/log" = all, !skipped
    Catalog = all, !skipped, !saved
}


#########################################################################
############### Fim do arquivo de configuração do Director Daemon ##############
###########################  bacula-dir.conf  ################################



#  Bacula Director - Arquivo de Include
#
#  Configuração dos Client's do Bacula
#
#
#  For Bacula release 5.0.2 (28 April 2010)
#  Debian Squeeze/Sid
#

# Espaço para configuração dos clientes Bacula que irão se conectar com o Director.
# Os clientes podem ser Windows, Linux ou MacOS

##############################
##### CLIENT BACULA-FD  #####
##############################

Client {
# Nome configurado em File Daemon. Este client é o próprio Bacula.
# O servidor deve possuir o seu file daemon no client, o nome deve ser o mesmo em ambos arquivos de configuração bacula-dir e bacula-fd.
    Name = bacula-fd
# Endereço ip da máquina com este client instalado
    Address = 192.168.2.255
# Porta padrão utilizada pelo bacula
    FdPort = 9102
# Senha configurada também no bacula-fd-conf correspondente ao client.
    Password = "XXXXXXXX"
# Opção para limitar o crescimento do catáligo.
# Com o "autoprune" ativo, as informações sobre os arquivos "backupeados" serão automaticamente excluídos do banco de dados após esse período de tempo.
# Só será possível restaurar todo o conteúdo de um job de backup para um mesmo client, sem a opção de selecionar apenas alguns arquivos.
# Entretanto através do utilitário bscan que acompanha o bacula, estas informações podem ser reinseridas no catálogo.
# Observe que as informações gravadas no volume (dados) não sofrem alteração em nenhum momento.
    FileRetention = 60 Days
# Depois que a retenção do job é expirada, as informações do job são apagadas do catálog - ou seja, é como se não existissem para o Bacula.
# De igual sorte, os dados gravados no volume permanecerão intactos, podendo ser restaurados com o bscan.
    JobRetention = 1 year
    Catalog = MyCatalog
# Comando que indica que após as retenções as informações do catálogo serão eliminadas automaticamente.
    AutoPrune = Yes
}

E assim para cada um dos arquivos.
Para criar um padrão nomeei os arquivos de include como bacula-dir-client.conf e assim sucessivamente.



Marcelo V. Carvalho

unread,
Aug 10, 2011, 9:55:14 AM8/10/11
to bacula-ba...@googlegroups.com
Entendi. Valeu pela dica.

Abs
Marcelo Vicente de Carvalho
Tel: +55(11) 7466-3151
Msn.: mcl...@hotmail.com
E-mail.: marce...@gmail.com
Skype.: mcl085

Marcelo V. Carvalho

unread,
Aug 10, 2011, 10:02:37 AM8/10/11
to bacula-ba...@googlegroups.com
Maravilha Elisa! Mto bem explicado seu arquivo.
Valeu,
Marcelo

Duda Grass

unread,
Aug 10, 2011, 12:16:31 PM8/10/11
to bacula-ba...@googlegroups.com
Olá Marcelo!

O bom dos includes é que você pode fazer a configuração conforme seja melhor para seu ambiente.

No meu caso como número de servidores é muito grande, criei um include para cada cliente. E no arquivo do cliente fiz as configurações específicas de cada um deles.


Segue o modelo abaixo:



bacula-dir.conf


# Definições Gerais de backup

Director {                          
  Name = server_bacula.net-dir
  Description = "Sistema de Backup"
  DIRport = 9101                                                    # where we listen for UA connections
  QueryFile = "/etc/bacula/query.sql"
  WorkingDirectory = "/var/bacula/working"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 30                                      # Numero maximo de jobs simultaneos que podem acontecerno diretor
  Password = "xxxxxxx"         # Senha da Cosole
  Messages = Daemon
  Heartbeat interval = 120                                          #  Evita erro de time-out entre conexões
}

###### BACKUPS #######

# Server1 #
@/etc/bacula/backups/bacula-server1.conf

# Sserver2 #
@/etc/bacula/backups/bacula-server2.conf

# CATALOG #
@/etc/bacula/backups/bacula-catalog.conf

# Server3 #
@/etc/bacula/backups/bacula-server3.conf


# Server4 #
@/etc/bacula/backups/bacula-server4.conf


####### Messages  ##########

Messages {
        Name = AvisosAdmin
        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 = bac...@meudominio.edu.br = all, !skipped
        operator = root@localhost = mount
        console = all, !skipped, !saved
        append = "/var/bacula/working/log" = all, !skipped
        catalog= all, !skipped, !saved
}

####### FIM MESSAGES  #######

####### STORAGES  ############

Storage {
        Name = server_bacula.net-sd
        Address = server_bacula.net                # N.B. Use a fully qualified name here
        SDPort = 9103
        Password = "xxxxx"
        Device = FileStorage
        Media Type = File
}

##### FIM STORAGES  #######
                                               

# 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/bacula/working/log" = all, !skipped
}

### And Messages Daemon ########



######### CONSOLE BACULA  ###############

Console {
        Name = server_bacula.net-mon
        Password = "xxxx"
        CommandACL = status, .status
}

####### FIM CONSOLE BACULA IPA ############




Exemplo de Cliente: bacula-server1.conf

##### Backup Mensal Server1 #####

Job {
        Name = "Backup_Server1_Mensal"
        Type = Backup
        Level = Full                    #backup do tipo full
        Client = server1_client           #esse parâmetro será configurado logo abaixo
        FileSet="server1_files"           #seleção do que será backupeado, também logo #abaixo
        Messages = AvisosAdmin          # Tipos de avisos e mensagens de backup
        Storage = server1_fita         #dispositivo onde será armazenado o job
        Pool = server1_pool
        Schedule = "server1_mensal"       # Agendamentos
        Write Bootstrap = "/var/db/bacula/Client1.bsr"
        Priority = 10                   # Prioridade

}

Job {
        Name = "server1_restore"
        Type = Restore
        Client= server1_client
        FileSet="server1_files"
        Storage = server1_fita
        Pool = server1_pool
        Messages = AvisosAdmin
        Where = /tmp/restore
}


FileSet {
        Name = "server1_files"

         Include {
          Options {
           signature = MD5
        }
        File = /etc
        File = /home/
        }
        Exclude {
         File = /tmp
        }
}
Client {
        Name = server1_client
        Address = server.net
        FDPort = 9102
        Catalog = sv-17_catalog
        Password = xxxxx
        File Retention = 30d   # 80 days
        Job Retention = 1y     # one year
        AutoPrune = yes        # Prune expired Jobs/Files
}

Schedule {
        Name = "server1_mensal"
        Run = Full mon-sun at 10:42
        Run = Incremental sun-fri at 00:20
}

Catalog {
        Name = server1_catalog

        dbname = "bacula"; dbuser = "bacula"; dbpassword = ""
}

Storage {
        Name = server1_fita
        Address = 10.0.x.x
        SDPort = 9103
        Password =  "xxxxxx"
        Device = sv-17_dev_fita
        MaximumConcurrentJobs = 20
        Media Type =  LTO2
}

Pool {
        Name = server1_pool
        Pool Type = Backup
        Recycle = yes
        AutoPrune = yes
        Volume Retention = 365 days
        Maximum Volume Bytes = 100G
        Maximum Volumes = 10
        LabelFormat = "Sec"

}


#### FIM BKP Server1 ####




--
Duda Grass  -  http://dudagrass.blogspot.com
Administrador de Redes e Servidores
Consultor Técnico em TI
Linux User #533730

Ana Elisa Frecchiani

unread,
Aug 10, 2011, 12:32:36 PM8/10/11
to bacula-ba...@googlegroups.com
Obrigada Marcelo...
O grupo tem me ajudado bastante...

Disponha!

Abraços!

Em 10 de agosto de 2011 11:02, Marcelo V. Carvalho <marce...@gmail.com> escreveu:

Marcelo V. Carvalho

unread,
Aug 10, 2011, 1:01:54 PM8/10/11
to bacula-ba...@googlegroups.com
Boa Duda!!! Gostei da organização. Vou usar sua lógica como modelo nos testes que estou fazendo.

Abraço,

Marcelo

Leonardo Gonçalves

unread,
Aug 28, 2013, 10:08:17 PM8/28/13
to bacula-ba...@googlegroups.com
Ola, sou novo no grupo, mas deixar uma dica, talvez ajude muitos.

para fazer include de vários arquivos ao mesmo tempo.

@|"sh -c 'for f in /etc/bacula/backups/*.conf ; do echo @${f} ; done'"

assim basta criar os arquivos em backups e restartar o serviço.

Danilo Bondezan

unread,
Sep 4, 2013, 10:55:07 AM9/4/13
to bacula-ba...@googlegroups.com
Estou realizando o processo de organização do meu fileset (depois que vi a organização do pessoal acima) e surgiu uma dúvida.
Eu deixo as permissões dos arquivos dentro de /etc/bacula/conf.d com as mesmas dos arquivos bacula-dir.conf. bacula-sd.conf e bacula-fd.conf?


--
Você está recebendo esta mensagem porque se inscreveu no grupo "Bacula Backup-Pt-Br" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para bacula-backup-p...@googlegroups.com.

Para postar neste grupo, envie um e-mail para bacula-ba...@googlegroups.com.



--



Danilo Bondezan
Gestor de TI
+55 (48) 8441-4471  / (48) 9671-7721
Linux ID: LPI000257302
Skype: ldcdanilo90
msn: ldcd...@hotmail.com

Claudio - Linux Tec

unread,
Sep 4, 2013, 11:00:04 AM9/4/13
to bacula-ba...@googlegroups.com

Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
Bom dia,

AMigo tenho uma configuração pronta do bacula 100% funcional, todo separado com include, qualquer coisa me avisa que compartilho com VC.

Danilo Bondezan

unread,
Sep 4, 2013, 1:21:45 PM9/4/13
to bacula-ba...@googlegroups.com
Se isto está valendo para mim, eu quero sim.
Valeu!



Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

OrllrO

unread,
Mar 8, 2021, 8:10:53 AM3/8/21
to Bacula Backup-Pt-Br
Eu uso desta forma. Mas, quando faço alguma alteração via Baculum, ele junta tudo novamente no bacula-dir.conf.

Tuboarte Móveis

unread,
May 5, 2021, 3:22:42 PM5/5/21
to Bacula Backup-Pt-Br
Boa tarde!

Também estou com o mesmo problema, mais alguém ai?
Orlando você conseguiu resolver??

Heitor Faria

unread,
May 5, 2021, 3:26:08 PM5/5/21
to bacula-backup-pt-br
Olá Pessoal,

O Baculum foi feito para trabalhar dessa maneira.
Se vocês querem usar includes por script não podem usar o Baculum para alterar configuração.

Atte.


--
Você recebeu essa mensagem porque está inscrito no grupo "Bacula Backup-Pt-Br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para bacula-backup-p...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/bacula-backup-pt-br/3e15b2ba-1553-494e-96bf-d22fdfea0a66n%40googlegroups.com.

--

MSc Heitor Faria (Miami/USA)
Bacula LATAM CEO
mobile1: + 1 909 655-8971
mobile2: + 55 61 98268-4220
linkedin icon
logo
América Latina
bacula.latbacula.com.br

Reply all
Reply to author
Forward
0 new messages