Pessoal, boa noite.Tenho duas dúvidas, antes de mais nada já estou me programando pra fazer, os Bacula 1, 2 e 3, já até comprei e estou providenciando o livro do Heitor. Mas agora preciso de tempo..Eu estou aprendendo sobre o bacula, e tenho algumas dúvidas sobre os agendamentos, alguém aqui saberia me responder se eu entendi da maneira correta o backup padrão do bacula?A versão que estou usando é o Bacula 7, estou em ambiente virtual para aprender sobre a ferramenta, para depois aplica-la no meu trabalho
- O primeiro “Run = Full 1st sun at 23:05” está indicando que um backup Full rodará todo primeiro domingo do mês iniciando às 23:05.
- O segundo “Run = Differential 2st-5th sun at 23:05” está indicando que, do segundo ao quinto domingo do mês (porquê existem meses que temos 5 domingos), ele fará um backup diferencial iniciando às 23:05.
- O terceiro “Run = Incremental mon-sat 23:05” está indicando que ele fará um backup incremental de segunda a sexta-feira, iniciando às 23:05.
As formas que os backups são organizados, as nomenclaturas para ser mais certo,vi em vídeo até mesmo no arquivo que o padrão é "vol-", então todo backup tem esse nome, vol-0001, vol-0002 e etc.Eu fazia um backup via script nos meu servidores, porém tive um problema de hardware e sistema e não consegui fazer novamente, devido as paginas que usei não estarem mais disponíveis.A organização ficava por data:
Exemplo:Fev-09-02-2017Fev-08-02-2017Fev-07-02-2017
Como era de script, ele fazia full todos os dias, infelizmente. =(Mas, agora isso vai mudar =)Teria como fazer algo assim bacula?Sempre que o backup for Full:Full-Fev-02-2017Sempre que o backup for Diferencial:Dif-Fev-02-2017Sempre que o backup for Incremental:Inc-Fev-02-2017
motivo da minha dúvida:Como saberei em qual volume procurar determinado arquivo?
Pode ser pergunta boba, mas como estou aprendendo acho que não custa perguntar. Então espero que os mestres da ferramente me deem um clareamento das ideias sobre essa parte.
--
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-pt-br+unsub...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para bacula-backup-pt-br@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/bacula-backup-pt-br.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/bacula-backup-pt-br/1d8dfff0-f5ff-4a33-9ce2-c74627b39cb7%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
# Configuração da Pool Full Pool{ Name = "Pool-Full" # Nome da Pool Pool Type = Backup # Tipo da Pool Recycle = yes # Pode reciclar a Pool AutoPrune = yes # Limpar dados do catálogo automaticamente Volume Retention = 30 days # Tempo de retenção do volume Volume Use Duration = 23 hours # Tempo que o volume permanece aberto para escrita LabelFormat = "Volume-Full" Maximum Volume Bytes = 4GB # Tamanho máximo de cada volume Maximum Volumes = 10 # Número máximo de volumes
}
# Configuração da Pool DifferentialPool{ Name = "Pool-Dif" # Nome da Pool Pool Type = Backup # Tipo da Pool Recycle = yes # Pode reciclar a Pool AutoPrune = yes # Limpar dados do catálogo automaticamente Volume Retention = 30 days # Tempo de retenção do volume Volume Use Duration = 23 hours # Tempo que o volume permanece aberto para escrita LabelFormat = "Volume-Differential" Maximum Volume Bytes = 4GB # Tamanho máximo de cada volume Maximum Volumes = 10 # Número máximo de volumes
}
# Configuração da Pool Pool-Incremental Pool{ Name = "Pool-Incremental" # Nome da Pool Pool Type = Backup # Tipo da Pool Recycle = yes # Pode reciclar a Pool AutoPrune = yes # Limpar dados do catálogo automaticamente Volume Retention = 30 days # Tempo de retenção do volume Volume Use Duration = 23 hours # Tempo que o volume permanece aberto para escrita LabelFormat = "Volume-Full" Maximum Volume Bytes = 4GB # Tamanho máximo de cada volume Maximum Volumes = 10 # Número máximo de volumes
}
# Agenda GFS NoiteSchedule { Name = "Agendamento" Run = Level=Full Pool=Pool-Full on 1st sun at 23:30 # Backup Full primeiro domingo do Mes Run = Level=Differential Pool=Pool-Differential on friday at 23:30 # Diferencial toda sexta-feita (Não sei se está certo) Run = Level=Incremental Pool=Pool-Incremental on mon-sat at 23:30 # Incremental de Segunda a Sabado.}Para postar nesse grupo, envie um e-mail para bacula-ba...@googlegroups.com.
+Wanderley, eu entendi mas não compreendi, deve ser porque estou aprendendo ainda...e como é muita coisa para absorver da aquele "bug" no cérebro.- Não entendi muito bem como funciona os pools, realmente até procurei algo na internet para entender melhor, mas não entendi 100%.
- O pool é responsável pela forma que é feita o backup?
- Se eu entendi bem,eu faria um pool para cada um dos jobs, correto? por exemplo:
Não sei se essa é a melhor forma de trabalhar, mas estou peguntando para entender.- Eu entendi sobre como mudar os nomes dos volumes, é a forma que definimos no pool que deve ser colocada também no Schedule.
- O exemplo acima tirei dos seus arquivos, também estou tentado aprender de forma mais organizada, separando todos os campos, filesets, client and jobs etc.
Desculpa a quantidade de informação.E obrigado pelos esclarecimentos.
- Não entendi muito bem como funciona os pools, realmente até procurei algo na internet para entender melhor, mas não entendi 100%.
- O pool é responsável pela forma que é feita o backup?
A pool é um conjunto de volumes, geralmente serve para separar tipos de backup e/ou retenções diferentes.
Eu costumo usar 3 Pools (Diaria - 30 dias retenção, Semanal - 30 dias de retenção e Mensal e 12 meses de retenção)
Até existe essa possibilidade, mas não é necessário. O ideal é você analisar o seu ambiente e e verificar o espaço que você tem para fazer o backup e talvez separar em Pools Diarias, Semanal e Mensal, que seria o esquema GFS (Grandfather, Father and Son)
Seria também um JobDefs { } para cada pool?
O JobDefs é uma espécie de modelo de job para não precisar ficar digitando todas as opções necessárias.
No caso todos os Jobs vão possuir as informações contidas no JobDefs e mais o que está definido no próprio Job.
Quando você configura alguma opção no Job esse sobrescreve a opção que está no JobDefs (o Job tem precedência sobre o JobDefs) e a Pool do Schedule também tem precedência sobre o JobDefs e Job.
JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
Client = bkpserver-fd
FileSet = "Full Set"
Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = File
SpoolAttributes = yes
Priority = 10
Write Bootstrap = "/var/lib/bacula/%c.bsr"
}
# Servidor Samba: Debian 8
Job {
Name = "BackupSamba"
JobDefs = "DefaultJob"
Client = debiansamba-fd
}
Client {
Name = debiansamba-fd
Address = 172.16.0.253
Password = "1a27_xc0RLsKRpp_21ubNVt93Luw-YGPZ"
@/etc/bacula/basic-client.conf # Importar informaçoes do arquivo
}
- Eu entendi sobre como mudar os nomes dos volumes, é a forma que definimos no pool que deve ser colocada também no Schedule.
Você coloca a Pool no schedule para salvar os backups corretos nas devidas Pools, pois um Job vai estar em mais de uma Pool geralmente.
Na verdade no começo é um pouco complicado, pois o Bacula permite inúmeras configurações, mas depois que você entende sua lógica é mamão com açúcar heheheh
O JobDefs é uma classe de job padrão que pode ser utilizado por diversos job’s. Quando no Job de backup não tem especificado todos os parâmetros, ele utilizará os parâmentros padrões que estão configurados no JobDefs.
O Pool é o local de definição de retenção dos backup. Quando um job é submetido ele é submetido para um Pool. É dentro de um Pool que se configura o comportamento do volume. No backup em disco, é possível limitar o tamanho do volume. No backup em disco o ideal é que tenha vários volumes. No Pool é possível configurar para que o label seja criado automaticamente.
No link abaixo, apesar de ser uma versão mais antiga, dá para se ter uma noção dos parâmetros usados no bacula:
http://tutoriaisgnulinux.com/?p=13575
- Não entendi muito bem como funciona os pools, realmente até procurei algo na internet para entender melhor, mas não entendi 100%.
- O pool é responsável pela forma que é feita o backup?
A pool é um conjunto de volumes, geralmente serve para separar tipos de backup e/ou retenções diferentes.
Eu costumo usar 3 Pools (Diaria - 30 dias retenção, Semanal - 30 dias de retenção e Mensal e 12 meses de retenção)
- Então eu entendi corretamente como funciona as Pools, agora que você deu essa luz. Cada Pool, com essa necessidade, trabalharia em um job especifico.
Até existe essa possibilidade, mas não é necessário. O ideal é você analisar o seu ambiente e e verificar o espaço que você tem para fazer o backup e talvez separar em Pools Diarias, Semanal e Mensal, que seria o esquema GFS (Grandfather, Father and Son)
- Não entendi muito bem, mas estou trabalhando para entender melhor esse esquema de agendamento GFS. Trabalho em uma faculdade. Colocarei os servidores para fazer um backup Full a cada três meses, Incremental diariamente e todo final de semana. Ainda estou estudando melhor isso.
Seria também um JobDefs { } para cada pool?
O JobDefs é uma espécie de modelo de job para não precisar ficar digitando todas as opções necessárias.
- Eu verifiquei agora nos arquivos, é um modelo, realmente.
No caso todos os Jobs vão possuir as informações contidas no JobDefs e mais o que está definido no próprio Job.
Quando você configura alguma opção no Job esse sobrescreve a opção que está no JobDefs (o Job tem precedência sobre o JobDefs) e a Pool do Schedule também tem precedência sobre o JobDefs e Job.
- Ainda não assimilei muito bem, mas estou começando a entender, eu teria que criar uma JobDefs (que são as definições do job, forma que irá trabalhar, Pool que irá usar, Schedule, nível de backup, etc..), e, em cada job, colocar qual JobDefs ele vai usar., Abaixo tenho um exemplo de configuração de JobDefs. Lá em Job, no campo JobDef =, eu seleciono o "modelo de JobDefs" que irei usar para aquele Job.
Isso mesmo
JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
Client = bkpserver-fd
FileSet = "Full Set"
Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = File
SpoolAttributes = yes
Priority = 10
Write Bootstrap = "/var/lib/bacula/%c.bsr"
}
# Servidor Samba: Debian 8
Job {
Name = "BackupSamba"
JobDefs = "DefaultJob"
Client = debiansamba-fd
}
Client {
Name = debiansamba-fd
Address = 172.16.0.253
Password = "1a27_xc0RLsKRpp_21ubNVt93Luw-YGPZ"
@/etc/bacula/basic-client.conf # Importar informaçoes do arquivo
}
- Eu entendi sobre como mudar os nomes dos volumes, é a forma que definimos no pool que deve ser colocada também no Schedule.Você coloca a Pool no schedule para salvar os backups corretos nas devidas Pools, pois um Job vai estar em mais de uma Pool geralmente.
- Entendi essa parte mais ou menos, mas creio que ao me deparar com um cenário assim, irei entender.
Na verdade no começo é um pouco complicado, pois o Bacula permite inúmeras configurações, mas depois que você entende sua lógica é mamão com açúcar heheheh
- Sim é complicado mesmo, são muitos detalhes e informações, mas você já me deu um bom feedback de que estou entendendo e indo pelo caminho correto.Obrigado.Obs: coloquei em azul, porque não estou familiarizado com a forma que são dadas as respostas no grupo, assim fica mais fácil eu saber quando você responde.
________________________________________________________________________
--
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-pt-br+unsub...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para bacula-backup-pt-br@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/bacula-backup-pt-br.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/bacula-backup-pt-br/22147e54-6998-40d4-8995-b5f7d65d531b%40googlegroups.com.
Imagine um Job de um servidor de arquivos (apenas um único Job) onde você pode fazer backups Diários, Semanais e Mensais por exemplo.
Schedule {
Name = "Agenda_GFS_Noite"
Run = Level=Incremental Pool=Diaria on Monday-Thursday at 23:30
Run = Level=Differential Pool=Semanal on 2nd-6th Friday at 23:30
Run = Level=Full Pool=Mensal on 1st Friday at 23:30
}
Com base no Schedule acima o backup desse servidor de arquivos vai ser executado conforme o schedule e vai salvar os dados (no volume físico) nas Pool determinadas no Schedule, então ao longo de 1 mês você vai possuir o mesmo Job nas 3 pools, cada uma com o seu "Level" do backup (Full, Incremental ou Diferencial).
Quando você configura alguma opção no Job esse sobrescreve a opção que está no JobDefs (o Job tem precedência sobre o JobDefs) e a Pool do Schedule também tem precedência sobre o JobDefs e Job.
Para postar nesse grupo, envie um e-mail para bacula-ba...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/bacula-backup-pt-br.