Solução de backup completa Open Source: Bacula Community 9.6.x e Baculum 9.6.x

O Bacula é um software que permite você (ou o administrador de sistema) administrar backup, restauração e verificação dos dados de computadores em uma rede de sistemas mistos.
Por ser tão flexível o Bacula é considerado um framework de backup, podendo ser implementado nas mais diferentes estruturas corporativas.

Funcionalidades:

  • Geração de formato aberto (não proprietário) de gravação (pode ser lido pelo tar e dump do Unix) – adeus ao aprisionamento tecnológico;
  • Armazenamento do seu catálogo em banco de dados padrão SQL: SQLite,PostgreSQL ou MySQL;
  • Suporte a compressão dos backups nos algorítimos livres GZIP e LZO;
  • GPL – sem custos com licenças, conhecimento e possibilidade de customização da ferramenta na versão community.

E de quebra, ainda vamos instalar o Baculum, que é  a Web Gui  (interface gráfica) Oficial do Bacula Community, permitindo que o administrador de backup altere configurações de backup sem precisar editar arquivos texto. Além disso uma API é disponibilizada, facilitando a integração com outros softwares, interfaces e consoles.

Primeiramente me chamo Lenon Corrêa, trabalho em uma empresa de Cloud Computing, a Staybox, fornecemos serviços de hospedagem, máquinas virtuais, backup em nuvem, licenciamento de software e outros do nível (se precisar de algo, me chame kkkk). Já trabalhei com o Rudimar, assim veio a oportunidade deste post. Antes de mais nada, é o 1º post, então deem seus feedbacks sobre o conteúdo e tirem suas dúvidas, criticas construtivas sempre serão aceitas. Sem mais delongas, vamos ao que realmente interessa!

Requisitos:
* Debian 10 (Buster) -> Instalação Limpa

* Tunning Bash -> Bash colorido (Este tique aprendi com o Rudimar kkk)

Instalação

Na primeira etapa, instalamos pacotes necessários para a compilação do Bacula, estas bibliotecas são indispensáveis para o bom funcionamento do software e andamento da instalação.

:: Instalação do banco de dados ::

Os banco de dados homologados pelo Bacula são: PostgreSQL, SQLite e MySQL. Então sinta-se livre para usar qualquer um deles, os passos que se alteram desta instalação são minímos.
Já vi pessoas também instalando com o MariaDB, em suma ele é praticamente igual ao MySQL, então não deve acarretar inconsistências. Mas vamos seguir a risca as recomendações da comunidade e vamos instalar a versão 5.7 Community do MySQL (Também já fui orientado a usar PostgreSQL, pois o desempenho é superior, mas como meu conhecimento é relativamente baixo, prefiro ir de MySQL mesmo, que sei tratar erros, se acontecerem).

Primeiro, adicionamos a chave GPG do MySQL Community, em seguida adicionamos em nossa máquina para reconhecer o reposítório.

Agora, adicionamos os repositórios, em seguida update.

Atualize os repositórios.

Se tudo correu bem até aqui, vamos finalmente aos pacotes do MySQL:

Durante a instalação, o MySQL oferta se você deseja adicionar uma senha ao root para acessar o banco, se sim, insira a senha, caso contrário apenas tecle enter e prossiga.

Agora vamos criar um usuário para o Bacula no banco de dados, entre no banco com o comando a seguir:

Ou, caso você tenha inserido uma senha de root no banco:

Os comandos abaixo são executados dentro do banco de dados, por tanto cuidado. Gere uma hash de senha e faça a alteração na linha 3.
O que estas linhas fazem são, simplesmente adicionar um usuário ao banco e dar os devidos privilégios para que ele possa inserir, deletar e alterar registros das tabelas que criaremos no futuro deste tutorial.

Para as alterações terem eficácia, restarte o serviço SQL.

Nos comandos seguintes, vamos entrar no diretório onde serão compilados os pacotes do Bacula. Na data de hoje 05/06 se encontra na versão 9.6.4, você pode conferir atualizar neste link. Vamos baixar o fonte, descompactá-lo e entrar na pasta seguinte.

Dentro da pasta ‘bacula-9.6.4’, execute o comando abaixo, ele vai configurar algumas diretivas que interferem diretamente na compilação do Bacula, portanto altere usuário e senha do banco de dados, conforme criou anteriormente, em:
–with-db-user=’usuario_do_banco’
–with-db-password=’SENHA_DO_BANCO_AQUI’
–with-hostname=’ip_da_sua_maquina’
Qualquer outra alteração faça com cuidado.

O retorno será conforme na imagem:

Chegamos na compilação dos pacotes, até aqui tudo certo, né?
A seguir, temos os comandos que compilam o Bacula. Rode-os e aguarde!

Os próximos comandos alteram permissão de escrita e leitura da pasta onde fica o Bacula, e após entra na pasta.

Agora vamos criar o banco de dados, tabelas e dar privilégios ao usuário do bacula. (Dependendo como você instalou o banco você usa o ‘-u root -p’ ou não).

Para fazer atualização do bacula você repete o mesmo procedimento da instalação, porém execute:

Feito isso com sucesso, vamos restartar o bacula e checar o status com os comandos.

O retorno dos comandos deverá ser o seguinte:

Agora vamos entrar no console do bacula com o comando:

Se tudo correu bem, receberá o retorno de acordo com a imagem abaixo:

Para sair do console:

:: Instalação do Baculum 9.6.x ::

Antes de instalarmos o baculum, precisamos do Apache e do PHP, usaremos a versão 7.3. A versão recomendada é a 7.2, mas em meus testes a 7.3 funcionou bem, não apresentando falhas, (aqui saí das recomendações kkk), use a versão que desejar.
Entre com os comandos abaixo pra instalar os pacotes citados anteriormente.

Vamos a instalação do Baculum, baixamos a chave e ativamos em nossa máquina.

Agora, adicionamos os repositórios, em seguida update.

Após, vamos verificar uma coisa, se o repositório encontrado foi da versão 9.6.”4″. O retorno deve ser como na imagem na sequência.

Agora sim, finalmente vamos instalar os pacotes do Baculum.

Durante a instalação, vamos receber o questionamento como na imagem abaixo. Selecione “manter a versão local atualmente instalada”.

Aqui damos algumas permissões necessárias para que o Baculum consiga rodar comando em nosso bconsole.

Adicionamos o bacula ao grupo do apache e mudamos as permissões da pasta onde fica.
Necessário para que o baculum consiga editar arquivos da pasta.

Aqui ativamos o modo rewrite do apache, as interfaces do baculum e da api. Em seguida restartamos o apache.

Agora vamos a parte Web, acesse o ip da máquina e a porta 9096, no meu caso 10.246.247.90:9096, faça login com usuário: admin. Senha: admin. E chegará na tela a seguir, selecione o idioma e avance, aqui nesta parte é tudo muito intuítivo.

Selecione Sim, e insira a senha do dados do banco de dados (usuário bacula), Endereço IP informe 127.0.0.1, Teste e Prossiga.

Selecione sim e marque a opção “Obter configuração do sudo” teste e avance.

Selecione sim. Em “Diretório de trabalho do Baculum para a configuração do Bacula” insira “/etc/bacula/working“, marque “Obter configuração do sudo” teste as configurações e avance para a etapa seguinte.

Selecione Sim, marque a opção “Obter configuração do sudo” e prossiga.

Crie um usuário para acessar a interface da API, avance.

Aqui você vera uma revisão das configurações criadas anteriomente, ao avançar esta etapa o login será solicitado. Realize-o com as credenciais criadas.

Eu optei por criar um usuário específico para usar a API. Clique em “Listar usuários HTTP Básico” e em “Novo usuário HTTP Básico”, informe os dados e clique em adicionar, conforme abaixo.

Acesse seus IP na na porta 9095, para finalmente configurarmos o Baculum. (Entre com admin/admin).

Selecione o idioma e avance.

Insira as credenciais criadas antes (no meu ex eu criei um usuário api), para que o baculum acesse a API, clique em testar e avance.

Ajuste o usuário para acessar o Baculum nesta etapa e prossiga.

Novamente uma revisão das informações, clique em “Salvar”.

E pronto, chegamos ao fim. Bacula com interface gráfica prontinho para uso.

Vamos conferir se o endereço IP (Address) está o IP de localhost, a alteraremos para o IP da interface do servidor.

Localize Storage {} e confira o parâmetro ‘Address’, altere o IP de localhost 127.0.0.1 para o IP da interface de rede da sua maquina. Se esses endereços ficarem incorretos, o bacula até consegue conversar com nosso cliente, porém nosso cliente não sabe para onde deve enviar os backup’s (a explicação é um pouco mais longa que isso, mas brevemente é o que acontece).

Feito essa alteração, vamos conferir, não é mesmo?

Dentro do console, você pode verificar um cliente (deixarei o exemplo já já):

Agora você pode gerar seus backups de máquinas Linux, Windows, Banco de dados… As possibilidades são infinitas. Crie suas rotinas, escolha do que fazer backup e faça seus testes. PS: Ainda pode ser necessário atualizar algumas diretivas direto no terminal, nos arquivos de configuração, portanto recomendo que leia a documentação, neste link.

:: Extras – Add um cliente::

Aqui vou deixar ainda, um exemplo de configuração de um cliente Linux, para que você não fique tão perdido assim em meio a tanta informação.

:: No lado do cliente ::

Para isso instale bacula-fd

Ajuste as configurações em /etc/bacula/bacula-fd.conf

O campo ‘Name’, em Director é o nome do nosso servidor, por padrão ele vem com ‘bacula-dir‘, e em nosso servidor criamos assim então não precisamos alterar, o campo ‘Password’ é a senha que o Bacula usará para se conectar em nossa máquina (precisaremos dela adiante). Em ‘FileDaemon’ vamos pegar o ‘Name’, que vamos usar para criar nosso cliente na interface gráfica. Basicamente isso, existem outros parâmetros que podem ser usados, para ver quais são consulte a documentação, mas com essas informações básicas já faremos um backup funcionar!

Restarte o bacula-fd

:: No lado do servidor ::

Agora voltamos ao Baculum, IP:9095.
Na sidebar da esquerda clique em ‘Clientes”, em seguida na tela que vai aparecer, clique em ‘Adicionar cliente’.

Agora vamos adicionar nosso 1º cliente de backup. Entre com as informações, ‘Name’ insira o nome que estava na aba ‘FileDaemon’ de nosso cliente, ‘Address’ é o IP da máquina do cliente, ‘Password’ é a senha, que também estava no cliente (como falei antes). Em ‘Catalog’ selecione ‘MyCatalog’, clique em ‘Criar’, um pop-up se abrirá indicando sucesso na adição do cliente, clique em ‘Ok’.

Agora, clique na flecha azul, ao lado do cliente que adicionamos e em seguida clique em ‘Detalhar’.

Nesta aba, clique ‘Status do cliente’, e rapidamente será feita uma captura de informações sobre nosso cliente de backup. Tudo pronto para o backup.

Confira também o GitHub do Wanderlei Huttel, a base deste tuto veio de lá, e também tem muito material complementar lá, como scripts de envio de dados para o Telegram e muito mais. Não trataremos aqui pra não ficar muito extenso.

Acompanhe a comunidade do Bacula no Telegram neste link, boa parte das suas dúvidas outras pessoas já tiveram, então é só pesquisar no grupo.

Se tiver qualquer pergunta deixe nos comentários. Espero que tenha ajudado você, qualquer dúvida você me encontra la no grupo https://t.me/remontticombr 🙂
Abraço!

Autor: Lenon Correa https://t.me/lenon_correa

Fontes:

http://softwarelivre.org/heitorfaria/blog/baculum-9-configuracao-grafica-do-bacula-administracao-e-api
https://github.com/wanderleihuttel/bacula-utils/blob/master/tutorial/bacula_install_debian10.txt
https://github.com/wanderleihuttel/bacula-utils/blob/master/tutorial/baculum_install_debian9.sh

O que é o Bacula?

Página Inicial

Você pode gostar...

3 Resultados

  1. Naelson j da Silva disse:

    Excelente conteudo, parabens !!!

  2. Cara, muito bom seu tutorial, era exatamente oque eu estava precisando!

  3. caraka amigo, eu amo voces, kkkkkkkk cara voces ajudam muito voces nao tem noção, eu só tenho a agradecer voces pelo compartilhamento de conhecimento pela ajuda que tem dado a cada profissional que busca conhecimento e assim ajudar a empresa onde trabalha e por ai vai. pessoal obrigadoo mesmo fica aqui o meu abraço e um GRANDE MUITO OBRIGADO.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *