Instalação e configuração do Bacula com interface web (Bweb/Brestore)

O Bacula é um software de criação e gerenciamento de backups. Nesse tutorial serão mostrados os passos para instalação e configuração do mesmo, juntamente com a interface web de gerenciamento (Bweb) e recuperação (Brestore) de backups.

[ Hits: 178.665 ]

Por: Fabrício Rodrigo em 20/07/2010


Instalação e configuração da interface web (Brestore)



Instalar dependências do aplicativo Brestore

Módulos Perl:

# apt-get install libgtk2-gladexml-perl \
libdbd-mysql-perl \
libdbd-pg-perl \
libexpect-perl \
libwww-perl


Módulos Extjs:

Para baixar os arquivos do modulo extjs, utilize o wget e em seguida descompacte os arquivos dentro da pasta 'ext' do 'document root' do servidor web.

# wget http://www.sencha.com/deploy/ext-2.3.0.zip

Descompactar em /var/www/bweb/ext:

# unzip -d ext ext-2.3.0.zip
# mv ext-2.3.0/ /var/www/bweb/ext


Carregar atualizações do MySQL

Para que o brestore funcione é necessário a atualização do banco de dados, para isso acesse a pasta 'script' dentro do bweb e carregue o arquivo 'bweb-mysql.sql' para o bd mysql.

# cd /bweb/script
# mysql -u root bacula < bweb-mysql.sql -p


Será solicitada a senha de root para acesso ao banco. Após a inserção da senha, as tabelas do Bacula serão atualizadas.

Instalação do Brestore

Para instalar o Brestore basta acessar a pasta baixada anteriormente para instalar o Bweb no passo 7 e acessar a pasta 'brestore'. Após acessar a pasta, deve-se instalar a interface glade do brestore na pasta /usr/share/brestore através dos comandos:

# cd bacula-gui-5.0.2/brestore
# mkdir -p /usr/share/brestore
# install -m 644 -o root -g root brestore.glade /usr/share/brestore
# install -m 755 -o root -g root brestore.pl /usr/bin


Configuração do Brestore

Edite o arquivo "/usr/lib/cgi-bin/bweb/bresto.pl" e habilitar a seguinte variável com o valor '1'.

my $bresto_enable = 1;

Edite o arquivo "/usr/bin/brestore.pl" com as seguintes variáveis

my $glade_file = '/usr/share/brestore/brestore.glade' ;

$parameters = {
   'mozilla' => 'mozilla',
   'bconsole' => '/usr/local/bin/bconsole -n -c /etc/bacula/bconsole.conf',
   'bweb' => 'http://localhost/cgi-bin/bweb/bweb.pl',
   'connection_string' => 'DBI:mysql:database=bacula;host=127.0.0.1;port=3306',
   'username' => 'bacula',
   'password' => 'xxxx',
   'bsr_dest' => 'file://var/tmp',
   'debug' => 0,
   'use_ok_bkp_only' => 1,
   'default_restore_job' => 'restore'
   };

Acesse a aplicação através do seguinte endereço no navegador web ou através do Bweb:

http://your-server/bweb/bresto.html

Página anterior     Próxima página

Páginas do artigo
   1. Instalação do Bacula no Ubuntu/Debian
   2. Instalação e configuração da interface web (Bweb)
   3. Instalação e configuração da interface web (Brestore)
   4. Considerações finais e referências
Outros artigos deste autor

Instalação e configuração do Snort Inline (modo IPS), Baynard2, Mysql e PulledPork no Debian Squeeze

Configurando o Asterisk com autenticação LDAP

Webacula - Instalação e Configuração no Ubuntu 10.04

Leitura recomendada

Emergindo grandes pacotes em hardwares fracos com o auxílio de outro computador no Gentoo Linux

Partições Linux - Faça direito!

Atheros Wireless + Slackware 12.0

APT-GET sem CD: criando repositórios locais

VPN no Conectiva 8 com o PPTPD

  
Comentários
[1] Comentário enviado por drakula em 20/07/2010 - 20:02h

Valeu pelo artigo, ta completasso.

[2] Comentário enviado por fernandoborges em 20/07/2010 - 20:12h

Super bom, parabéns!!!

[3] Comentário enviado por danniel-lara em 20/07/2010 - 20:39h

e ai blz ?
muito bom o artigo

[4] Comentário enviado por astdarkness em 22/07/2010 - 00:09h

Velho, show de Bola!!!!!
Parabéns!!

[5] Comentário enviado por moser em 23/07/2010 - 16:24h

Aqui onde trabalho usamos o Webmin como ferramenta de administração web. Acho mais completo.

Abraço !

[6] Comentário enviado por feliperossi em 25/07/2010 - 21:45h

Exelente artigo, com uma definicao clara sobre o funcionamento do bacula.
mas ainda tenho algumas duvidas em relacao ao bacula backup.
em um dos meu clientes tenho uma tape library IBM TS-2900 LTO 4 com 9 fitas.


gostaria de saber com o bacula gerencia as tape library, tenho ele configurado
com tapes comuns de apenas uma fita lto 1, 2 e 3, funciona maravilhosamente bem.

mas nesse modelo TS-2900 estou tendo alguns problemas para configuralo, devido
armazenamento e recuperacao dos arquivos. procurei em diversos foruns e sites
sobre o gerenciamento do bacula em tapes library, encontrei muito pouca documentacao
e nada claro a respeito.

fico grato caso alguem do VOL tenho algum case de sucesso ou implementacao
do bacula em tapes library.



[7] Comentário enviado por fabriciorodrigo em 27/07/2010 - 10:19h

Vlw pela dica moser! .. instalei o webmin mas acho que o bweb tem mais 'cara' de aplicativo ... acho que os menus estão melhores dispostos e de melhor acesso. Acho que ainda falta algumas coisas pra ambos, mas é mais uma opção, e diga-se de passagem, de bem mais fácil instalação.

http://tchellow.blogspot.com/2009/09/instalacao-do-webmin-no-bacula-backup.html


Felipe, sinceramente nunca trabalhei com dispositivos de fita, apenas disco mesmo. Não vou ter como te ajudar!

[8] Comentário enviado por jairus em 27/07/2010 - 17:55h

PARABÉNS PELO ARTIGO


INSTALEI AQUI NA EMPRESA ESTÁ FUNCIONANDO PERFEITO

UTILIZO DEBIAN LENNY


JAIRUS LOPES

[9] Comentário enviado por nando.polla em 21/12/2010 - 20:06h

Alguem já consegui atribuir uma senha de acesso ao bweb,
para quando o for acessar solicitar alguma senha

[10] Comentário enviado por fabriciorodrigo em 27/12/2010 - 15:34h

nando.polla,

O Bweb faz o controle através do htpasswd do apache ...

Adicione no httpd.conf ou no arquivo respectivo de sua distribuição ...

Alias /bweb /var/www/bweb
<Directory /var/www/bweb/html>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/bweb /usr/lib/cgi-bin/bweb
<Directory /usr/lib/cgi-bin/bweb>
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
AuthType Basic
AuthName MyPrivateFile
AuthUserFile /etc/apache2/htpasswd
AllowOverride None
Require valid-user
</Directory>


Para habilitar vc tbm deve ir até a opção "Configuration" do menu do Bweb e habilitar a opção "security" ou ainda inserir o parametro ('enable_security' => 'on') no arquivo de configuração do bweb (/etc/bacula/bweb.conf)

Assim que for habilitado a opção 'security' será adicionado a opção 'Manage Users' no menu 'Configuration' do Bweb. Nesse menu vc poderá fazer restrições para os usuários, mas não esqueça de primeiramente cadastrá-los no arquivo htpasswd do apache.


[11] Comentário enviado por nando.polla em 27/01/2011 - 11:58h

Prezado ( fabriciorodrigo )

Desculpe-me a demora ....

O procedimento está totalmente correto...
Muito obrigado...

Só estou com algumas dificuldades em adicionar por grupo com restrições...

Mais perfeito ... está de parabens ...


Abraços... e muito obrigado.


[12] Comentário enviado por LinuxTec em 15/02/2011 - 13:09h

Amigo, vou seguir seu tutorial para montar um servidor de backp do zero aqui na empresa, qualquer duvidas peça a himelde ajuda de todos começarei amanhã.

[13] Comentário enviado por LinuxTec em 22/02/2011 - 11:45h

Cara estou seguindo seu artigo e deu um erro bobo aqui pode me ajudar

backup:/home/claudio/download/bacula-gui-5.0.2/bweb# perl Makefile.PL
1..8
ok 1 - require DBI;
ok 2 - require GD::Graph;
ok 3 - require GD;
ok 4 - require HTML::Template;
ok 5 - require CGI;
ok 6 - require Expect;
ok 7 - require Time::ParseDate;
ok 8 - require Date::Calc;
Writing Makefile for Bweb
backup:/home/claudio/download/bacula-gui-5.0.2/bweb# make install
-bash: make: command not found


Onde estou errando

[14] Comentário enviado por fabriciorodrigo em 22/02/2011 - 13:55h

Provavelmente o 'make' n esteja instalado no seu pc ...

se estiver no debian basta instalar através do 'apt-get install make'

Creio que resolva o problema.

[15] Comentário enviado por Tiago_RC2Network em 29/07/2011 - 20:52h

Fabricio,

Primeiramente queria lhe agradecer por essa imansa ajuda na configuração do Bacula. A instalação padrão e a interface Web deu certo, mas infelizmente parei no brestore.

- Instalei os modulos perls
- fiz os demais procedimentos:
# wget http://www.sencha.com/deploy/ext-2.3.0.zip

Descompactar em /var/www/bweb/ext:

# unzip -d ext ext-2.3.0.zip

mas quando vou dar o comando:

#mv ext-2.3.0/ /var/www/bweb/ext

dá o seguinte erro:
mv: impossivel obter o estado de "ext-2.3.0/": Arquivo ou diretorio não encontrado.

Obrigado



[16] Comentário enviado por fabriciorodrigo em 12/08/2011 - 09:25h

Tiago,

Desculpa a demora para responder.
Aparentemente pasta descompactado não está nessa pasta ou não está com o nome que vc está tentando move-la. Verifica onde está sendo descompactado a pasta e com qual nome ela foi descompactada. Dá um ls pra ver se a pasta está mesmo no diretório atual e com que nome, pra depois vc tentar move-la.

[17] Comentário enviado por Tiago_RC2Network em 16/08/2011 - 10:33h

Fabricio, bom dia.

Obrigado mais uma vez pelas dúvidas sanadas. Deu tudo ok a instalação do Bacula Web e o Brestore. Porém, quando tento restaurar algum arquivo no brestore aparece p seguinte erro:

An error has occurred:

Can't start your job:


Obs: Seleciono o client (srv_arq), seleciono o Job, arrasto o arquivo a ser restaurado para o campo RESTORE SELECTION, no campo a direita FILE VERSION, aparece INchanger (circulo vermelho), volume (arquivos1), Jobid (756),size, data e checksun. Quando clico em run restore aparece as seguintes opções:

restore options

cliente: ser_arq ----------------------------no meu bacula-dir.conf o nome que dei ao job de restore é o restore_srv_arquivos
where: /tmp/bacula-restore--------------- no meu dir.conf essa opção está assim: /bacula-recuperados (quando restauro com o .bat ele sempre salva em c:/
replace:awalys/never----------------------- sempre coloco always

Já restartei todos os seviços e nada.

Poderia me ajudar mais uma vez? já tentei que cansei, instalei o debian 5, ubuntu e nada. Falta só fazer o restore pra fechar com chave de ouro.

Obrigado mais uma vez.

[18] Comentário enviado por vhugojr em 17/09/2012 - 17:55h

Olá Fabrício, estou com um probleminha seguindo o seu tutorial. Na hora de reiniciar o bacula, após a configuração dos arquivos, aparece a seguinte mensagem:

bacula-dir: ERROR TERMINATION at parse_conf.c: 479 Erro de configuração: Não foi possível encontrar a configuração do Recurso Daemon referenciado na linha 9: Messages = Daemon
: linha 9, coluna 21 do arquivo /etc/bacula/bacula-dir.conf Messages = Daemon.

Será q foi erro de digitação, eu copiei e colei como esta no post.

[19] Comentário enviado por LinuxTec em 28/09/2012 - 09:13h



Bom dia existe algum comando que eu consiga ver os próximos
agendamentos de backups que tem para executar no meu bacula ?
Estou com um probleminha muito estranho, meu bacula só está fazendo
backups Full, ele faz um acaba faz outro e está enchendo meu disco,
minhas Pools estão redondas, mais ele não para de efetuar backups Full,
acabou um agora mesmo e já tenho outros executando vejam.

Running Jobs:
Writing: Full Backup job backup JobId=24 Volume="Backup-Full-Vol-0022"
pool="backup-Full-Pool" device="FileStorage" (/home/bacula)
spooling=0 despooling=0 despool_wait=0
Files=232,131 Bytes=40,371,849,458 Bytes/sec=6,819,569
FDReadSeqNo=2,912,262 in_msg=2219168 out_msg=5 fd=5
====

Jobs waiting to reserve a drive:
====

Terminated Jobs:
JobId Level Files Bytes Status Finished Name
===================================================================
14 Full 458,501 292.0 G OK 23-Set-12 19:26 Grfad01
15 Full 60,949 19.94 G OK 23-Set-12 21:16 grfnexus01
16 Full 22,698 1.349 G OK 23-Set-12 21:23 grflinuxtec01
17 Full 795,276 330.4 G OK 25-Set-12 09:54 backup
18 Incr 23,189 3.857 G OK 25-Set-12 10:24 firewall
19 Full 3,344 127.0 M OK 25-Set-12 10:24 zabbix
20 Incr 220 333.5 M OK 25-Set-12 10:26 bacula
21 Incr 14,615 39.24 G OK 25-Set-12 13:14 Grfad01
22 Full 61,394 19.84 G OK 25-Set-12 15:02 grfnexus01
23 Full 22,716 1.349 G OK 25-Set-12 15:08 grflinuxtec01




Poll do Backup


# Configuration file to Bacula Server
#
JobDefs {
Name = "backup"
Type = Backup
Client = backup-fd
FileSet = "backup"
Schedule = "backup"
Storage = File
Messages = Standard
Pool = Default
Full Backup Pool = backup-Full-Pool
Incremental Backup Pool = backup-Inc-Pool
Differential Backup Pool = backup-Diff-Pool
Priority = 10
#RunBeforeJob = "/etc/bacula/scripts/mysql_backup"
Write Bootstrap = "/var/bacula/working/%c.bsr"
}

Job {
Name = "backup"
JobDefs = "backup"
}

FileSet {
Name = "backup"
Include {
Options {
signature = MD5
compression = GZIP
}
File = /etc
File = /var/www
File = /home/backup
File = /mnt/lacie2
}
}

Schedule {
Name = "backup"
Run = Full 1st sun at 4:30
Run = Differential 2nd-5th sun at 4:30
Run = Incremental mon-sat at 4:30
}
Client {
Name = backup-fd
Address = backup.grifetiquetas.local
FDPort = 9102
Catalog = MyCatalog
Password = "retK5PoeMp8mP1-QUtTaP5LnzIe_IC0ID"
File Retention = 30 days
Job Retention = 1 months
AutoPrune = yes
}





Pool {
Name = backup-Full-Pool
Pool Type = Backup
Recycle = yes
Recycle Oldest Volume = yes
AutoPrune = yes
Volume Retention = 1 months
Maximum Volume Jobs = 1
Maximum Volumes = 7
Label Format = "Backup-Full-Vol-"
}

Pool {
Name = backup-Inc-Pool
Pool Type = Backup
Recycle = yes
Recycle Oldest Volume = yes
AutoPrune = yes
Volume Retention = 30 days
Maximum Volume Jobs = 6
Maximum Volumes = 7
Label Format = "Backup-Inc-Vol-"
}

Pool {
Name = backup-Diff-Pool
Pool Type = Backup
Recycle = yes
Recycle Oldest Volume = yes
AutoPrune = yes
Volume Retention = 30 days
Maximum Volume Jobs = 1
Maximum Volumes = 10
Label Format = "Backup-Diff-Vol-"
}





[20] Comentário enviado por fabriciorodrigo em 28/09/2012 - 11:46h

LinuxTec,

digita no prompt do bconsole o comando:

*status director

ele vai te retornar os backups agendados e os finalidados.

Uma coisa que eu faço e talvez possa resolver seu problema é colocar o pool no agendamento/schedule da seguinte forma:

Schedule {
Name = "Server"
Run = Level=Full Pool=VolumeBkpFull on 1 at 22:30
Run = Level=Incremental Pool=VolumeBkpInc on 2-31 at 22:35
}

Dessa forma vc terá que remover a referência aos pools no JobDefs, é uma sugestão!

[21] Comentário enviado por armandomxj em 25/02/2013 - 10:11h

Otimo howto, deu tudo certo mas ao acessar pelo navegdor estou recebendo este erro:


Can't connect to your database:
Access denied for user 'root'@'localhost' (using password: YES)


Creio que é ao acessar o banco de dados, mas conferi todos os arquivos e nada ? pode me ajudar onde pode estar o erro ?


[22] Comentário enviado por fabriciorodrigo em 28/02/2013 - 15:24h

armandomxj,

Há duas possibilidades, ou vc colocou a senha errada no arquivo de conf (/etc/bacula/bweb.conf) ou o banco está recusando sua conexão, acho a rimeira bem mais viável.

executa o seguinte comando no prompt:
#mysql -u root -p
será pedida a senha de root, se vc conseguir logar a senha está correta .. coloque-a no arquivo bweb.conf, na variável "'password' => 'senhamysql'" onde, 'senhamysql' é a senha do banco.

[23] Comentário enviado por cmercaldo em 22/03/2013 - 14:01h

Fabricio.

Instalei tudo e após executar no BROWSER aparece a mensagem.

can't load config_file /etc/bacula/bweb.conf : Permission denied

Agora, já dei permissão 775 neste arquivo, mas deve estar faltando alguma coisa que não estou conseguindo identificar.

Pode me ajudar?

Obrigado!

[24] Comentário enviado por fabriciorodrigo em 22/03/2013 - 15:27h

Cláudio, verifica se o usuário e grupo do arquivo são respectivamente o apache(www-data) e o bacula.

[]'s

[25] Comentário enviado por cmercaldo em 22/03/2013 - 16:26h

Estranho mesmo....

chown www-data.bacula /etc/bacula/* -R
e o usuário bacula no /etc/group no grupo do apache e vice e versa!!

Caramba!!

[26] Comentário enviado por guina2010 em 05/09/2013 - 10:19h

faz tempo que to querendo um artigo desse vou fazer um teste e postar aqui valeu

[27] Comentário enviado por rlimao em 04/10/2013 - 00:54h

armandomxj


Cara, tive o mesmo problema que vc. O erro estava no user no bweb.conf 'user' => 'bacula'. No meu caso mudei para 'root' e resolvi o problema.


[28] Comentário enviado por fcunsa em 17/01/2014 - 16:03h

Como e onde são geradas as senhas Criptografadas dos arquivos de configuração do Bacula??

[29] Comentário enviado por micheloliveira96 em 02/03/2015 - 00:59h

Muito obrigado, estou fazendo um TCC, e pra parcial de segurança ele foi essencial.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts