2014/07/15 16:36 1/27 Instalao e Configurao do Bacula no Debian Squeeze
Douglas Quintiliano dos Santos - http://douglas.wiki.br/
Instalao e Configurao do Bacula no Debian Squeeze Disco de 100GB para os backups I ip do servidor: 192.168.0.80 I Prepare o seu sistema com o seguinte script http://www.douglas.wiki.br/doku.php?id=confinicialsqueeze para que no falte nenhum pacote ou configurao. Vamos ajustar o hosts vim /etc/hosts 127.0.0.1 localhost 192.168.0.80 bacula.douglas.wiki.br bacula [...] Vamos instalar os pr-requisitos para podermos compilar o bacula aptitude install libreadline-dev libreadline6-dev postgresql postgresql-client postgresql-common postgresql-contrib \ postgresql-doc postgresql-server-dev-all postgresql-server-dev-8.4 libreadline6-dev libreadline6 lib32readline6 lib32readline6-dev -y Agora vamos ajustar o acesso ao postgresql sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /etc/postgresql/8.4/main/ postgresql.conf Agora precisamos reiniciar o postgresql /etc/init.d/postgresql restart Agora vamos criar um arquivo para importar para preparar a base para o bacula vim /tmp/base.sql ALTER USER postgres WITH PASSWORD 'senha'; CREATE USER bacula WITH PASSWORD 'senha'; CREATE DATABASE bacula WITH OWNER bacula ENCODING 'SQL_ASCII' TEMPLATE=template0; Agora precisamos importar a base su postgres -c 'psql -f /tmp/base.sql' Agora vamos criar os diretrios para o bacula mkdir /var/lib/bacula mkdir /var/run/bacula mkdir /var/log/bacula mkdir -p /etc/bacula/scripts Agora vamos criar o usurio bacula useradd -s /bin/bash -d /var/lib/bacula bacula Agora vamos ajustar as permisses dos diretrios Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 chown -R bacula:bacula /var/lib/bacula /var/run/bacula /var/log/bacula /etc/bacula Agora vamos obter o pacote do bacula cd /usr/src wget -c http://www.douglas.wiki.br/Downloads/misc/bacula-5.2.13.tar.gz Agora vamos desempacotar o bacula tar -xzvf bacula-5.2.13.tar.gz Agora vamos acessar a pasta do bacula cd bacula-5.2.13/ Agora vamos preparar o pacote do bacula CFLAGS="-g -Wall" ./configure --enable-smartalloc --with-postgresql --with-db-name=bacula --with-db-user=bacula --with-db-password=senha --with-db-port=5432 --with-working-dir=/var/lib/bacula --with-pid-dir=/var/run/bacula --with-logdir=/var/log/bacula --with-readline=/usr/include/readline --disable-conio --with-scriptdir=/etc/bacula/scripts Agora vamos mandar compilar o bacula make Agora vamos mandar instalar o bacula make install Agora vamos mandar instalar os binrios de inicializao do bacula make install-autostart Agora vamos ajustar as permisses dos arquivos chown -R bacula:bacula /etc/bacula Agora vamos preparar o banco de dados para o bacula su - bacula -c '/etc/bacula/scripts/make_postgresql_tables -U bacula -d bacula' Agora vamos desabilitar o shell do bacula usermod -s /bin/false bacula Agora vamos fazer o backup dos arquivos de configurao do bacula mkdir /usr/src/olds cp -Rfa /etc/bacula /usr/src/olds Agora vamos deixar o arquivo do director do bacula da seguinte forma 2014/07/15 16:36 3/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ vim /etc/bacula/bacula-dir.conf ############################################ # ARQUIVO DE CONFIGURACAO PADRAO DO BACULA # ############################################
# DEFININDO O 'DIRECTOR' #
Director { Name = bacula-dir DIRport = 9101 # Porta de Comunicacao do Bacula QueryFile = "/etc/bacula/scripts/query.sql" # Script de Query WorkingDirectory = "/var/lib/bacula" # Diretrio de Trabalho do Bacula PidDirectory = "/var/run/bacula" # PID do Bacula Maximum Concurrent Jobs = 1 # Maximo de Backups em Execucao Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3L" # Senha para ajustar no Bconsole Messages = Daemon # Nivel de mensagens }
# DEFINICOES DE CLIENTES E JOBS # # ARQUIVO ONDE SERA CONFIGURADO E AJUSTADO OS CLIENTES E JOBS DO BACULA #
@/etc/bacula/bacula-dir-clients-and-jobs.conf
# DEFINICOES DE ARQUIVOS PARA BACKUP - (FILE SETS)# # ARQUIVO ONDE SERA CONFIGURADO E AJUSTADO OS 'FILE SETS' DO BACULA #
@/etc/bacula/bacula-dir-filesets.conf
# DEFINICOES DE AGENDAMENTO DOS BACKUPS # @/etc/bacula/bacula-dir-agendamento.conf
# DEFINICOES DE DISPOSITIVO DE ARMAZENAMENTO # # AQUI DEFINIMOS O STORAGE A SER UTILIZADO PELO BACULA #
Storage { Name = File Address = bacula.douglas.wiki.br # Pode ser usado Nome ou IP SDPort = 9103 # Porta de Comunicao do Storage Password = "LE_T_-c_55qu1f777Dm52map-s3xpgR4q" # Senha Storage Bacula Device = FileStorage # Device de Storage Media Type = File # Tipo de Midia (Fita, DVD, HD) Maximum Concurrent Jobs = 10 # Num. Maximo de Jobs executados nessa Storage. }
# Generic catalog service Catalog { Name = Catalogo # Nome do Catalogo dbname = "bacula"; dbaddress = 127.0.0.1; dbuser = "bacula"; dbpassword = "senha" # Configuracoes do PostGreSQL }
# Reasonable message delivery -- send most everything to email address # and to the console Messages { Name = Standard
# ABAIXO E POSSIVEL AJUSTAR COMO O BACULA ENVIARA MENSAGENS AO ADMINISTRADOR #
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 = root@localhost = all, !skipped operator = root@localhost = mount console = all, !skipped, !saved append = "/var/log/bacula/bacula.log" = all, !skipped catalog = all } Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36
# 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/log/bacula/bacula.log" = all, !skipped }
# POOL PADRAO DEFINIDO Pool { Name = File # o Job de Backup por padrao aponta para o 'File' Pool Type = Backup # O Tipo do Pool = Backup, Restore, Etc. Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 1 month # Retencao de Volume = 1 Mes Volume Use Duration = 23 hours # Duracao de um volume aberto Maximum Volume Bytes = 20 Gb # Tamanho maximo de um volume Maximum Volumes = 10 # Volume Bytes X Volumes <= Dispositivo de backup LabelFormat = "volume" # Nome Default do Volume }
# Scratch pool definition # Volumes que serao emprestado a alguma Pool temporariamente Pool { Name = Scratch Pool Type = Backup }
# # Restricted console used by tray-monitor to get the status of the director # Console { Name = bacula-mon Password = "aNy+nof5uHWBvO3tv8YRy5OJo3YVDsuAuET06WRmDcuw" CommandACL = status, .status } Agora vamos criar o arquivo que controla os agendamentos do bacula vim /etc/bacula/bacula-dir-agendamento.conf ################################################################# ## ARQUIVO DE CONFIGURACAO DE AGENDAMENTO DE TAREFAS DO BACULA ## ################################################################# # DEFINICOES DE AGENDAMENTO DOS BACKUPS #
# AGENDAMENTO PADRAO DO BACULA - CICLO SEMANAL DE BACKUP # Schedule { Name = "WeeklyCycle" # Ciclo Semanal de Backup Run = Level=Full 1st sun at 23:05 # Backup Full no Primeiro Domingo do Mes as 23:05 hrs Run = Level=Differential 2nd-5th sun at 16:50 # Backup Diferencial de Seg. a Sabado as 23:05 hrs Run = Level=Incremental mon-sat at 10:30 # Backup Incremental de Seg. a Sabado as 23:05 hrs }
# AGENDAMENTO PARA SERVIDOR LINUX - CICLO SEMANAL DE BACKUP # Schedule { Name = "CicloBackupProxy" Run = Level=Full 1st sun at 23:00 Run = Level=Full mon-sat at 10:00 }
# AGENDAMENTO PARA SERVIDOR WINDOWS SERVER - CICLO SEMANAL DE BACKUP # 2014/07/15 16:36 5/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ Schedule { Name = "CicloBackupWindows" # Ciclo Semanal de Backup Run = Level=Full 1st sun at 23:00 # Backup Full no Primeiro Domingo do Mes as 23:05 hrs Run = Level=Differential 2nd-5th sun at 14:10 # Backup Diferencial de Seg. a Sabado as 11:40 hrs Run = Level=Full mon-sat at 10:00 # Backup Incremental de Seg. a Sabado as 11:25 }
# DEFINICOES DE AGENDAMENTO DO BACKUP DOS CATALOGOS # # FEITO SEMPRE DEPOIS DOS BACKUPS # Schedule { Name = "WeeklyCycleAfterBackup" Run = Level=Full sun-sat at 09:15 } Agora vamos criar o arquivo de controle dos clientes do bacula e jobs do bacula vim /etc/bacula/bacula-dir-clients-and-jobs.conf ################################################### ## ARQUIVO DE CONFIGURACAO PARA CLIENTES E JOBS ## ###################################################
# JOB PADRAO PARA O BACULA SERVER # JobDefs { Name = "DefaultJobs" # Nome do Job Padrao Type = Backup # Tipo de Job (Backup, Restore, Verificacao) Level = Incremental # Nivel do Job (Full, Incremental, Diferencial) Client = bacula-fd # Nome do Cliente FD FileSet = "Full Set" # File Set Definido para Esse Job Schedule = "WeeklyCycle" # Agendamento Definido para Esse Job Storage = File # Define Storage Messages = Standard # Nivel de mensagens Pool = File # Define a Pool Priority = 10 # Qual o nivel de Prioridade Write Bootstrap = "/var/lib/bacula/%c.bsr" # Arquivo gerado pelo Bacula para armazenar informacoes de backups feitos em seus clientes. # AS OPCOES ABAIXO EVITAM QUE SEJAM DUPLICADO JOBS NO SERVIDOR, CASO TENHA UM JOB DUPLICADO O MESMO E CANCELADO Allow Duplicate Jobs = no # Permite Jobs Duplicados Cancel Lower Level Duplicates = yes # Cancela niveis inferiores duplicados }
# JOB DE BACKUP PARA OS SERVIDORES WINDOWS SERVER # JobDefs { Name = "DefaultWindows" # Nome do Job Para Servidores Windows Type = Backup # Tipo de Job (Backup, Restore, Verificacao) Level = Incremental # Nivel do Job (Full, Incremental, Diferencial) Client = bacula-fd # Nome do Cliente FD FileSet = "WindowsFS" # File Set Definido para Esse Job Schedule = "CicloBackupWindows" # Agendamento Definido para Esse Job Storage = File # Define Storage Messages = Standard # Nivel de mensagens Pool = File # Define a Pool Priority = 10 # Qual o nivel de Prioridade Write Bootstrap = "/var/lib/bacula/%c.bsr" # Arquivo gerado pelo Bacula para armazenar informacoes de backups feitos em seus clientes. # AS OPCOES ABAIXO EVITAM QUE SEJAM DUPLICADO JOBS NO SERVIDOR, CASO TENHA UM JOB DUPLICADO O MESMO E CANCELADO Allow Duplicate Jobs = no # Permite Jobs Duplicados Cancel Lower Level Duplicates = yes # Cancela niveis inferiores duplicados }
# JOB DE BACKUP DO CATALOGO # Job { Name = "BackupCatalogo" # Nome do Job Para Backup do Catalogo JobDefs = "DefaultJobs" # JobDefs usado para Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 operacao Level = Full # Nivel do Job (Full, Incremental, Diferencial) FileSet = "Catalogo" # File Set Definido para Esse Job Schedule = "WeeklyCycleAfterBackup" # Agendamento Definido para Esse Job RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl Catalogo" # Acao executada antes da operacao Write Bootstrap = "/var/lib/bacula/%c.bsr" # Arquivo gerado pelo Bacula para armazenar informacoes de backups feitos em seus clientes. Priority = 11 # Executar depois do Backup - ajustar prioridade }
# JOB DE RESTAURACAO - (RESTORE) - SO E PRECISO ESSE JOBS PARA RESTAURACAO DE BACKUP # Job { Name = "RestoreFiles" # Nome do Job Para Restore Type = Restore # Tipo de Job (Backup, Restore, Verificacao) Client = bacula-fd # Nome do Cliente FD FileSet = "Full Set" # File Set Definido para Esse Job Storage = File # Agendamento Definido para Esse Job Pool = File # Define a Pool Messages = Standard # Nivel de mensagens Where = /tmp/bacula-restores # Diretorio onde o bacula ira restaurar os arquivos nos clientes }
####################################################################### ## AQUI VAMOS DEFINIR OS CLIENTES E JOBS PARA CADA CLIENTE ADICIONADO # #######################################################################
## ------------------------------------------------------------------- ## # JOB DE BACKUP PARA O DIRECTOR DO BACULA # HOSTNAME: bacula.douglas.wiki.br # IP: 192.168.0.80
Job { Name = "BackupDirector" # Nome do Job para Backup do Director (Proprio Servidor Bacula) JobDefs = "DefaultJobs" # JObDefs Definido Client = bacula-fd # Cliente fd }
Client { Name = bacula-fd # Cliente fd Address = bacula.douglas.wiki.br # Ajustado no /etc/hosts Password = "ExgYbEinJWMf7lsWPBcpffZaNMmiGcbgp" # Senha do Director do Bacula @/etc/bacula/clientes/basic-client # Arquivo onde contem informacoes sobre o cliente. } ## -------------------------------------------------------------------- ## Agora vamos criar o arquivo que define o que vamos copiar dos clientes vim /etc/bacula/bacula-dir-filesets.conf ################################################### ## ARQUIVO DE CONFIGURACAO PARA CLIENTES E JOBS ## ###################################################
# LISTA DOS ARQUIVOS QUE SERAO COPIADOS
FileSet { Name = "Full Set" # Nome do FileSets 2014/07/15 16:36 7/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ # Arquivos que serao incluidos para serem copiados ao backup Include { Options { signature = SHA1 compression = GZIP verify = pin1 onefs = no } File = /etc File = /root File = /var/log File = /var/www File = /home File = /usr/sbin File = /etc/bacula/ } # Arquivos que serao ignorados ao backup Exclude { File = /var/lib/bacula File = /proc File = /tmp File = /.journal File = /.fsck } }
# LISTA DOS ARQUIVOS QUE SERAO COPIADOS - CATALOGO #
FileSet { Name = "Catalogo" # Arquivos que serao incluidos para serem copiados ao backup Include { Options { signature = SHA1 } File = "/var/lib/bacula/bacula.sql" } }
# LISTA DOS ARQUIVOS QUE SERAO COPIADOS - SISTEMA WINDOWS SERVER #
FileSet { Name = "WindowsFS" #Habilita o Volume shadow copy service Enable VSS = yes # Arquivos que serao incluidos para serem copiados ao backup Include { # Plugin = "alldrivers" Options { signature = SHA1 Compression = GZIP OneFS = no } File = "C:/" File = "F:/" } } Agora vamos configurar o bacula como cliente tambem vim /etc/bacula/bacula-fd.conf ############################################################## # ARQUIVO DE CONFIGURACAO DO FILE DAEMON DO BACULA # ##############################################################
# # List Directors who are permitted to contact this File daemon # Director { Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 Name = bacula-dir # Nome do Director Password = "ExgYbEinJWMf7lsWPBcpffZaNMmiGcbgp" # ESTA SENHA ESTA DEFINIDA NO ARQUIVO DE CLIENTE EM /ETC/BACULA/BACULA-DIR-CLIENTS-AND-JOBS.CONF }
# # Restricted Director, used by tray-monitor to get the # status of the file daemon # Director { Name = bacula-mon Password = "z27BNYXA9dx1SZWk1vp-kSZ8azwz2HMS8" # ESTA SENHA E UTILIZADO PELO BACULA-MONITOR Monitor = yes }
# # "Global" File daemon configuration specifications # FileDaemon { Name = bacula-fd # Nome do Bacula-fd FDport = 9102 # Porta de Comunicacao do bacula-fd WorkingDirectory = /var/lib/bacula # Diretorio de trabalho Pid Directory = /var/run/bacula # Diretorio de Pid Maximum Concurrent Jobs = 20 # Numero maximo de jobs executados no bacula FDAddress = 0.0.0.0 # COMENTAR OU REMOVER ESSA LINHA PARA QUE ELE POSSA 'OUVIR' CONEXOES EM TODAS AS INTERFACES }
# Send all messages except skipped files back to Director Messages { Name = Standard director = bacula-dir = all, !skipped, !restored # AS MENSAGEM SAO ENCAMINHADAS PARA O 'BACULA-DIR' DEFINIDO NESSA LINHA } Agora vamos ajustar o arquivo de controle do armazenamento do backup vim /etc/bacula/bacula-sd.conf ############################################################## # ARQUIVO PADRAO DE CONFIGURACAO DE STORAGE DO BACULA # ##############################################################
Storage { Name = bacula-sd # Nome do Storage SDPort = 9103 # Porta do Director WorkingDirectory = "/var/lib/bacula" # Diretorio de Trabalho Pid Directory = "/var/run/bacula" # Pid do Bacula Maximum Concurrent Jobs = 20 # Maximo de Backups em Execucao SDAddress = 0.0.0.0 # Comentar ou remover essa Linha para nao fazer loopback }
# # List Directors who are permitted to contact Storage daemon # Director { Name = bacula-dir Password = "LE_T_-c_55qu1f777Dm52map-s3xpgR4q" }
# # Restricted Director, used by tray-monitor to get the # status of the storage daemon # Usado pelo tray-monitor do bacula para obter status do servidor Director { Name = bacula-mon Password = "kNuOgEZUq2pqP6hRqPHMHm7UyxCOG1LBf" Monitor = yes 2014/07/15 16:36 9/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ }
# ABAIXO DEFINIMOS O NOME, TIPO, E O DIRETRIO DE ARQUIVOS DO BACULA
Device { Name = FileStorage # Nome do Device Media Type = File # Tipo de Midia (DVD, CD, HD, FITA) Archive Device = /srv/backup # Diretorio onde serao salvos os volumes de backup LabelMedia = yes; # Midias de Etiquetamento do Bacula Random Access = Yes; # AutomaticMount = yes; # Montar Automaticamente RemovableMedia = no; # Midia Removivel AlwaysOpen = no; # Manter Sempre Aberto }
# # Send all messages to the Director, # mount messages also are sent to the email address # Messages { Name = Standard director = bacula-dir = all } Agora vamos ajustar o arquivo do bconsole que como vamos conectar no bacula para fazer backup pela linha de comando vim /etc/bacula/bconsole.conf # # Bacula User Agent (or Console) Configuration File #
Director { Name = bacula-dir DIRport = 9101 address = bacula Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3L" } Agora vamos criar o diretrio para armazenar os clientes mkdir -p /etc/bacula/clientes Agora vamos criar o arquivo de controle bsico para os clientes vim /etc/bacula/clientes/basic-client ########################################################## ## ARQUIVO PARA CONFIGURACAO DE CLIENTE LINUX NO BACULA ## ########################################################## Catalog = Catalogo # Nome do Catalogo definido File Retention = 30 days # Tempo de Retencao do Backup Job Retention = 6 months # Tempo de Retencao do Job AutoPrune = yes # Prune de Jobs/Arquivos Expirados Agora vamos criar o diretrio para armazenar os backups mkdir -p /srv/backup Agora vamos ajustar as permisses chown bacula:tape /srv/backup chown -R bacula:bacula /etc/bacula Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 Agora vamos reiniciar os servios do bacula /etc/init.d/bacula-dir restart /etc/init.d/bacula-sd restart /etc/init.d/bacula-fd restart Agora vamos ver se o bacula est escutando netstat -natu | egrep 910* tcp 0 0 0.0.0.0:9101 0.0.0.0:* OUA tcp 0 0 0.0.0.0:9102 0.0.0.0:* OUA tcp 0 0 0.0.0.0:9103 0.0.0.0:* OUA Agora vamos testar o bacula, vamos verificar se ele est respondendo e se ele est reconhecendo o ele como cliente Vamos se conectar no bconsole bconsole Connecting to Director bacula:9101 1000 OK: bacula-dir Version: 5.2.13 (19 February 2013) Enter a period to cancel a command. * Ele est respondendo, agora vamos testar o cliente bacula ainda no bconsole *status client=bacula-fd Connecting to Client bacula-fd at bacula.douglas.wiki.br:9102
bacula-fd Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu debian 6.0.7 Daemon started 12-Abr-13 13:23. Jobs: run=0 running=0. Heap: heap=270,336 smbytes=23,497 max_bytes=23,644 bufs=53 max_bufs=54 Sizeof: boffset_t=8 size_t=8 debug=0 trace=0 Running Jobs: Director connected at: 12-Abr-13 13:25 No Jobs running. ====
Terminated Jobs: ==== * O nosso bacula est sendo reconhecido como cliente. Vamos efetuar um backup do catalogo que o banco de dados de controle do bacula *run Automatically selected Catalog: Catalogo Using Catalog "Catalogo" A job name must be specified. The defined Job resources are: 1: BackupCatalogo 2: RestoreFiles 3: BackupDirector Select Job resource (1-3): 1 Run Backup job JobName: BackupCatalogo Level: Full Client: bacula-fd FileSet: Catalogo Pool: File (From Job resource) Storage: File (From Job resource) 2014/07/15 16:36 11/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ When: 2013-04-12 13:27:02 Priority: 11 OK to run? (yes/mod/no): yes Job queued. JobId=1 Aqui o primeiro comando run que chama a execuo do backup, depois precisamos selecionar a opo como eu quero backup do catalogo tive que escolher a opo 1 e por fim precisei confirmar com um yes. Agora vamos consultar o job de backup ainda no bconsole list jobs +-------+----------------+---------------------+------+-------+----------+----------+-----------+ | jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus | +-------+----------------+---------------------+------+-------+----------+----------+-----------+ | 1 | BackupCatalogo | 2013-04-12 13:27:05 | B | F | 1 | 43,545 | T | +-------+----------------+---------------------+------+-------+----------+----------+-----------+ Agora se eu consultar o status do cliente novamente no bconsole vamos ter a seguinte mensagem status client=bacula-fd Connecting to Client bacula-fd at bacula.douglas.wiki.br:9102
bacula-fd Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu debian 6.0.7 Daemon started 12-Abr-13 13:23. Jobs: run=1 running=0. Heap: heap=675,840 smbytes=99,492 max_bytes=169,308 bufs=60 max_bufs=79 Sizeof: boffset_t=8 size_t=8 debug=0 trace=0 Running Jobs: Director connected at: 12-Abr-13 13:28 No Jobs running. ====
Terminated Jobs: JobId Level Files Bytes Status Finished Name ====================================================================== 1 Full 1 43.54 K OK 12-Abr-13 13:27 BackupCatalogo Como podemos notar temos um backup do tipo full efetuado as 13:27 com sucesso. Agora vamos fazer backup dos arquivos do servidor *run A job name must be specified. The defined Job resources are: 1: BackupCatalogo 2: RestoreFiles 3: BackupDirector Select Job resource (1-3): 3 Run Backup job JobName: BackupDirector Level: Incremental Client: bacula-fd FileSet: Full Set Pool: File (From Job resource) Storage: File (From Job resource) When: 2013-04-12 13:29:50 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=2 Aqui o primeiro comando run que chama a execuo do backup, depois precisamos selecionar a opo como eu quero backup dos arquivos do servidor tive que escolher a opo 3 e por fim precisei confirmar com um yes. Agora vamos consultar o job do nosso backup no bconsole Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 *list jobs +-------+----------------+---------------------+------+-------+----------+------------+-----------+ | jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus | +-------+----------------+---------------------+------+-------+----------+------------+-----------+ | 1 | BackupCatalogo | 2013-04-12 13:27:05 | B | F | 1 | 43,545 | T | | 2 | BackupDirector | 2013-04-12 13:29:53 | B | F | 1,889 | 22,790,302 | T | +-------+----------------+---------------------+------+-------+----------+------------+-----------+ Como pode ser notado temos o backup ok to tipo full com um total de 1.889 arquivos, agora vamos consultar o status do nosso cliente no bconsole status client=bacula-fd Connecting to Client bacula-fd at bacula.douglas.wiki.br:9102
bacula-fd Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu debian 6.0.7 Daemon started 12-Abr-13 13:23. Jobs: run=2 running=0. Heap: heap=819,200 smbytes=101,017 max_bytes=186,312 bufs=65 max_bufs=118 Sizeof: boffset_t=8 size_t=8 debug=0 trace=0 Running Jobs: Director connected at: 12-Abr-13 13:31 No Jobs running. ====
Terminated Jobs: JobId Level Files Bytes Status Finished Name ====================================================================== 1 Full 1 43.54 K OK 12-Abr-13 13:27 BackupCatalogo 2 Full 1,889 22.79 M OK 12-Abr-13 13:29 BackupDirector Temos agora as informaes que o backup ocorreu com sucesso :D. Agora se eu precisar restaurar por exemplo o /etc/network do backup podemos fazer da seguinte forma no bconsole *restore
First you select one or more JobIds that contain files to be restored. You will be presented several methods of specifying the JobIds. Then you will be allowed to select which files from those JobIds are to be restored.
To select the JobIds, you have the following choices: 1: List last 20 Jobs run 2: List Jobs where a given File is saved 3: Enter list of comma separated JobIds to select 4: Enter SQL list command 5: Select the most recent backup for a client 6: Select backup for a client before a specified time 7: Enter a list of files to restore 8: Enter a list of files to restore before a specified time 9: Find the JobIds of the most recent backup for a client 10: Find the JobIds for a backup for a client before a specified time 11: Enter a list of directories to restore for found JobIds 12: Select full restore to a specified Job date 13: Cancel Select item: (1-13): 5 Automatically selected Client: bacula-fd The defined FileSet resources are: 1: Catalogo 2: Full Set Select FileSet resource (1-2): 2 +-------+-------+----------+------------+---------------------+------------+ | jobid | level | jobfiles | jobbytes | starttime | volumename | +-------+-------+----------+------------+---------------------+------------+ | 2 | F | 1,889 | 22,790,302 | 2013-04-12 13:29:53 | volume0001 | 2014/07/15 16:36 13/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ +-------+-------+----------+------------+---------------------+------------+ You have selected the following JobId: 2
Building directory tree for JobId(s) 2 ... +++++++++++++++++++++++++++++++++++++++++++++ 1,711 files inserted into the tree.
You are now entering file selection mode where you add (mark) and remove (unmark) files to be restored. No files are initially added, unless you used the "all" keyword on the command line. Enter "done" to leave this mode.
cwd is: / $ ls etc/ home/ root/ usr/ var/ $ cd etc/ cwd is: /etc/ $ ls .pwd.lock Muttrc Muttrc.d/ X11/ acpi/ adduser.conf [...] modules motd motd.tail mtab nanorc network/ networks nsswitch.conf [...] vim/ w3m/ wgetrc xml/ zsh/ $ mark network 13 files marked. $ done Bootstrap records written to /var/lib/bacula/bacula-dir.restore.1.bsr
The job will require the following Volume(s) Storage(s) SD Device(s) ===========================================================================
volume0001 File FileStorage
Volumes marked with "*" are online.
14 files selected to be restored.
Run Restore job JobName: RestoreFiles Bootstrap: /var/lib/bacula/bacula-dir.restore.1.bsr Where: /tmp/bacula-restores Replace: always FileSet: Full Set Backup Client: bacula-fd Restore Client: bacula-fd Storage: File When: 2013-04-12 13:33:41 Catalog: Catalogo Priority: 10 Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 Plugin Options: *None* OK to run? (yes/mod/no): yes Job queued. JobId=3 Aqui o procedimento o seguinte: restore para chamar o processo de restore I 5 para selecionar o backup mais recente do cliente I 2 por exemplo para restaurar o backup dos arquivos I Depois podemos digitar um ls para listar os nosso arquivos I Depois um cd caso precise selecionar um diretrio I Depois podemos marcar o que queremos restaurar com o comando mark I Depois precisamos digitar done para informar ao bacula que j selecionamos o que precisamos I E por fim precisamos informar yes para confirmar o restore I Agora vamos listar os jobs no bconsole *list jobs +-------+----------------+---------------------+------+-------+----------+------------+-----------+ | jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus | +-------+----------------+---------------------+------+-------+----------+------------+-----------+ | 1 | BackupCatalogo | 2013-04-12 13:27:05 | B | F | 1 | 43,545 | T | | 2 | BackupDirector | 2013-04-12 13:29:53 | B | F | 1,889 | 22,790,302 | T | | 3 | RestoreFiles | 2013-04-12 13:33:45 | R | F | 14 | 8,975 | T | +-------+----------------+---------------------+------+-------+----------+------------+-----------+ Pelas informaes restauramos 14 arquivos com sucesso. Agora vamos consultar o status do nosso cliente *status client=bacula-fd Connecting to Client bacula-fd at bacula.douglas.wiki.br:9102
bacula-fd Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu debian 6.0.7 Daemon started 12-Abr-13 13:23. Jobs: run=3 running=0. Heap: heap=819,200 smbytes=101,258 max_bytes=186,312 bufs=66 max_bufs=118 Sizeof: boffset_t=8 size_t=8 debug=0 trace=0 Running Jobs: Director connected at: 12-Abr-13 13:38 No Jobs running. ====
Terminated Jobs: JobId Level Files Bytes Status Finished Name ====================================================================== 1 Full 1 43.54 K OK 12-Abr-13 13:27 BackupCatalogo 2 Full 1,889 22.79 M OK 12-Abr-13 13:29 BackupDirector 3 14 8.975 K OK 12-Abr-13 13:33 RestoreFiles Como podemos notar agora temos a informao que temos todas as opes at o momento ok. Como mandamos restaurar o bacula mandou para o caminho default que seria /tmp/bacula-restore vamos listar esse diretrio ls -lR /tmp/bacula-restores /tmp/bacula-restores: total 1 drwxr-xr-x 3 root root 1024 Abr 12 13:25 etc/
/tmp/bacula-restores/etc: 2014/07/15 16:36 15/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ total 1 drwxr-xr-x 7 root root 1024 Abr 11 10:33 network/
/tmp/bacula-restores/etc/network: total 6 drwxr-xr-x 2 root root 1024 Abr 11 11:00 if-down.d/ drwxr-xr-x 2 root root 1024 Mar 3 2010 if-post-down.d/ drwxr-xr-x 2 root root 1024 Mar 3 2010 if-pre-up.d/ drwxr-xr-x 2 root root 1024 Abr 11 11:01 if-up.d/ -rw-r--r-- 1 root root 517 Abr 11 10:33 interfaces drwxr-xr-x 2 root root 1024 Abr 12 11:56 run/
/tmp/bacula-restores/etc/network/if-down.d: total 1 -rwxr-xr-x 1 root root 803 Mai 4 2011 postfix*
/tmp/bacula-restores/etc/network/if-post-down.d: total 0
/tmp/bacula-restores/etc/network/if-pre-up.d: total 0
/tmp/bacula-restores/etc/network/if-up.d: total 10 -rwxr-xr-x 1 root root 4581 Mar 24 2012 mountnfs* -rwxr-xr-x 1 root root 1089 Set 15 2008 ntpdate* -rwxr-xr-x 1 root root 849 Dez 21 2009 openssh-server* -rwxr-xr-x 1 root root 1120 Mai 4 2011 postfix*
/tmp/bacula-restores/etc/network/run: total 1 -rw-r--r-- 1 root root 16 Abr 12 11:56 ifstate Temos o nosso backup restaurado com sucesso :D Configurao do Cliente Windows 2008 R2 Agora vamos instalar um cliente Windows eu vou utilizar um Windows Server 2008 R2 Enterprise Podemos obter o cliente em http://www.douglas.wiki.br/Downloads/misc/bacula-win64-5.2.10.exe Agora vamos instalar ele Mande executar o bacula-win64-5.2.10.exe com direito administrativos I Agora selecione Next I Agora selecione I Agree I Agora selecione Automatic I Agora selecione Next I Agora vamos informar os dados do bacula-dir: I Em DIR Name informe: bacula-dir I Em DIR Password informe: Cv70F6pf1t6pBopT4vQOnigDrR0v3L que a senha do bacula-dir I Em DIR Address informe: bacula.douglas.wiki.br I Agora selecione Install I Agora selecione Next I Agora selecione Finish I Agora vamos ajustar o c:\Windows\System32\Drivers\etc\hosts Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 notepad c:\Windows\System32\Drivers\etc\hosts [...] #No final do arquivo insira a seguinte linha 192.168.0.80 bacula.douglas.wiki.br Agora vamos deixar o backup-fd.conf da seguinte forma notepad "c:\Windows\Arquivos de Programas\Bacula\bacula-fd.conf" # Default Bacula File Daemon Configuration file # # For Bacula release 5.2.6 (02/21/12) -- Windows MinGW32 # # There is not much to change here except perhaps the # File daemon Name #
# # "Global" File daemon configuration specifications # FileDaemon { Name = win2008-fd # Nome do cliente-fd FDport = 9102 # Porta de Comunicacao WorkingDirectory = "C:\\Program Files\\Bacula\\working" # Diretorio de Trabalho Pid Directory = "C:\\Program Files\\Bacula\\working" # Diretorio de PID # Plugin Directory = "C:\\Program Files\\Bacula\\plugins" # Diretorio de Plugins Maximum Concurrent Jobs = 10 # Numero Maximo de Jobs em execucao }
# # List Directors who are permitted to contact this File daemon # Director { Name = bacula-dir # ALTERAR PARA O NOME DO 'DIRECTOR' DO BACULA Password = "a0wDKVckyaTacqItfkCxddJxyBLwAXFn7" # SENHA PARA COMUNICACAO COM ARQUIVO CLIENTS-AND-JOBS.CONF }
# # Restricted Director, used by tray-monitor to get the # status of the file daemon # UTILIZADO PELO BACULA MONITOR Director { Name = bacula-mon Password = "yQevDJfJg7fBgp8PfOxWTKqTqhUUTvAMn" Monitor = yes }
# Send all messages except skipped files back to Director Messages { Name = Standard director = bacula-dir = all, !skipped, !restored } Agora para podermos efetuar backup do c: do Windows precisamos importar a seguinte chave do resgistro notepad bacula.reg Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wbengine\SystemStateBackup] "ALlowSSBToAny"=dword:00000001 Agora precisamos mandar iniciar o servio do bacula e o servio Deteco de Servios Interativos (Interactive 2014/07/15 16:36 17/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ Services Detection) Agora para o bacula conseguir chegar no cliente precisamos liberar a porta 9102 no servidor Windows(Liberar a porta 9102 no Firewall). Agora no servidor bacula vamos criar um novo cliente vim /etc/bacula/bacula-dir-clients-and-jobs.conf [...] #Inserir no final do arquivo Job { Name = "BackupWin2008" # Nome do Job para Backup do Director (Proprio Servidor Bacula) JobDefs = "DefaultWindows" # JObDefs Definido Client = win2008-fd # Cliente fd }
Client { Name = win2008-fd # Cliente fd Address = win2008.douglas.wiki.br # Ajustado no /etc/hosts Password = "a0wDKVckyaTacqItfkCxddJxyBLwAXFn7" # Senha do Director do Bacula que foi definida no cliente @/etc/bacula/clientes/basic-client # Arquivo onde contem informacoes sobre o cliente. } Aqui nos definimos o job de backup do windows e depois a sua configurao. Agora vamos inserir no /etc/hosts a entrada para o win2012 vim /etc/hosts 127.0.0.1 localhost 192.168.0.80 bacula.douglas.wiki.br bacula 192.168.0.92 win2008.douglas.wiki.br win2008 [...] Agora vamos mandar reiniciar o servio do bacula /etc/init.d/bacula-dir restart /etc/init.d/bacula-sd restart /etc/init.d/bacula-fd restart Agora vamos chamar o bconsole para testarmos a conexo com o cliente bconsole Connecting to Director bacula:9101 1000 OK: bacula-dir Version: 5.2.13 (19 February 2013) Enter a period to cancel a command. *status client=win2008-fd Connecting to Client win2008-fd at win2008.douglas.wiki.br:9102
win2008-fd Version: 5.2.10 (28 June 2012) VSS Linux Cross-compile Win64 Daemon started 12-Apr-13 15:19. Jobs: run=0 running=0. Microsoft Windows Server 2008 R2 Enterprise Edition Service Pack 1 (build 7601), 64-bit Heap: heap=0 smbytes=16,962 max_bytes=17,109 bufs=53 max_bufs=54 Sizeof: boffset_t=8 size_t=8 debug=0 trace=1 Running Jobs: Director connected at: 12-Apr-13 15:23 No Jobs running. ====
Terminated Jobs: ==== * Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 Como pode ser notado estamos chegando no cliente com sucesso. Agora vamos mandar efetuar um backup do cliente *run Automatically selected Catalog: Catalogo Using Catalog "Catalogo" A job name must be specified. The defined Job resources are: 1: BackupCatalogo 2: RestoreFiles 3: BackupDirector 4: BackupWin2008 Select Job resource (1-4): 4 Run Backup job JobName: BackupWin2008 Level: Incremental Client: win2008-fd FileSet: WindowsFS Pool: File (From Job resource) Storage: File (From Job resource) When: 2013-04-12 15:29:11 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=3 * A mesma histria, run para rodar o backup, depois selecionamos a opo de backup no caso 4 para o win2008 e depois um yes para confirmar. As vezes podemos ter uma mensagem, podemos visualizar ela da seguinte forma no bconsole *mes 12-Abr 14:15 bacula-dir JobId 5: No prior Full backup Job record found. 12-Abr 14:15 bacula-dir JobId 5: No prior or suitable Full backup found in catalog. Doing FULL backup. 12-Abr 14:15 bacula-dir JobId 5: Start Backup JobId 5, Job=BackupWin2012.2013-04-12_14.15.10_03 12-Abr 14:15 bacula-dir JobId 5: Using Device "FileStorage" to write. 12-Abr 14:15 bacula-sd JobId 5: Volume "volume0001" previously written, moving to end of data. 12-Abr 14:15 bacula-sd JobId 5: Ready to append to end of Volume "volume0001" size=23120574 12-Abr 14:15 Win2012-fd JobId 5: Generate VSS snapshots. Driver="Win64 VSS", Drive(s)="CF" Agora vamos consultar os jobs *list jobs +-------+----------------+---------------------+------+-------+----------+-----------+-----------+ | jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus | +-------+----------------+---------------------+------+-------+----------+-----------+-----------+ | 1 | BackupCatalogo | 2013-04-12 15:13:50 | B | F | 1 | 43,545 | T | | 2 | BackupDirector | 2013-04-12 15:14:03 | B | F | 1,891 | 8,068,884 | T | | 3 | BackupWin2008 | 2013-04-12 15:29:26 | B | F | 0 | 0 | R | +-------+----------------+---------------------+------+-------+----------+-----------+-----------+ * Ainda est executando, agora vamos verificar o status do cliente windows 2012 *status client=win2008-fd Connecting to Client win2008-fd at win2008.douglas.wiki.br:9102
win2008-fd Version: 5.2.10 (28 June 2012) VSS Linux Cross-compile Win64 Daemon started 12-Apr-13 15:19. Jobs: run=0 running=0. Microsoft Windows Server 2008 R2 Enterprise Edition Service Pack 1 (build 7601), 64-bit Heap: heap=0 smbytes=195,578 max_bytes=212,575 bufs=136 max_bufs=158 Sizeof: boffset_t=8 size_t=8 debug=0 trace=1 2014/07/15 16:36 19/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ Running Jobs: JobId 3 Job BackupWin2008.2013-04-12_15.29.13_03 is running. VSS Full Backup Job started: 12-Apr-13 15:28 Files=721 Bytes=111,094,103 Bytes/sec=2,267,226 Errors=0 Files Examined=721 Processing file: C:/Recovery/4446b7b6-a39a-11e2-90f5-f46d8e8454b4/Winre.wim SDReadSeqNo=5 fd=700 Director connected at: 12-Apr-13 15:29 ====
Terminated Jobs: ==== * Como podemos ver em Processing file: o que o bacula est copiando no momento, aqui temos que esperar ele terminar o backup. Configurao do cliente Windows 2012 Agora vamos instalar um cliente Windows eu vou utilizar um Windows Server 2012 Stardard Podemos obter o cliente em http://www.douglas.wiki.br/Downloads/misc/bacula-win64-5.2.10.exe Agora vamos instalar ele Mande executar o bacula-win64-5.2.10.exe com direito administrativos I Agora selecione Next I Agora selecione I Agree I Agora selecione Automatic I Agora selecione Next I Agora vamos informar os dados do bacula-dir: I Em DIR Name informe: bacula-dir I Em DIR Password informe: Cv70F6pf1t6pBopT4vQOnigDrR0v3L que a senha do bacula-dir I Em DIR Address informe: bacula.douglas.wiki.br I Agora selecione Install I Agora selecione Next I Agora selecione Finish I Agora vamos ajustar o c:\Windows\System32\Drivers\etc\hosts notepad c:\Windows\System32\Drivers\etc\hosts [...] #No final do arquivo insira a seguinte linha 192.168.0.80 bacula.douglas.wiki.br Agora vamos deixar o backup-fd.conf da seguinte forma notepad "c:\Windows\Arquivos de Programas\Bacula\bacula-fd.conf" # Default Bacula File Daemon Configuration file # # For Bacula release 5.2.6 (02/21/12) -- Windows MinGW32 # # There is not much to change here except perhaps the # File daemon Name #
# Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 # "Global" File daemon configuration specifications # FileDaemon { Name = Win2012-fd # Nome do cliente-fd FDport = 9102 # Porta de Comunicacao WorkingDirectory = "C:\\Program Files\\Bacula\\working" # Diretorio de Trabalho Pid Directory = "C:\\Program Files\\Bacula\\working" # Diretorio de PID # Plugin Directory = "C:\\Program Files\\Bacula\\plugins" # Diretorio de Plugins Maximum Concurrent Jobs = 10 # Numero Maximo de Jobs em execucao }
# # List Directors who are permitted to contact this File daemon # Director { Name = bacula-dir # ALTERAR PARA O NOME DO 'DIRECTOR' DO BACULA Password = "a0wDKVckyaTacqItfkCxddJxyBLwAXFn7" # SENHA PARA COMUNICACAO COM ARQUIVO CLIENTS-AND-JOBS.CONF }
# # Restricted Director, used by tray-monitor to get the # status of the file daemon # UTILIZADO PELO BACULA MONITOR Director { Name = bacula-mon Password = "yQevDJfJg7fBgp8PfOxWTKqTqhUUTvAMn" Monitor = yes }
# Send all messages except skipped files back to Director Messages { Name = Standard director = bacula-dir = all, !skipped, !restored } Agora para podermos efetuar backup do c: do Windows precisamos importar a seguinte chave do resgistro notepad bacula.reg Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wbengine\SystemStateBackup] "ALlowSSBToAny"=dword:00000001 Como estamos utilizando o Windows 2012 como cliente precisamos habilitar a descoberta de servios interativos no registro do Windows: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\NoInteractiveServices I Precisamos mudar essa chave para o valor 0. Agora precisamos mandar iniciar o servio do bacula e o servio Deteco de Servios Interativos. Agora para o bacula conseguir chegar no cliente precisamos liberar a porta 9102 no servidor Windows. Agora no servidor bacula vamos criar um novo cliente vim /etc/bacula/bacula-dir-clients-and-jobs.conf [...] #Inserir no final do arquivo Job { 2014/07/15 16:36 21/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ Name = "BackupWin2012" # Nome do Job para Backup do Director (Proprio Servidor Bacula) JobDefs = "DefaultWindows" # JObDefs Definido Client = win2012-fd # Cliente fd }
Client { Name = win2012-fd # Cliente fd Address = win2012.douglas.wiki.br # Ajustado no /etc/hosts Password = "a0wDKVckyaTacqItfkCxddJxyBLwAXFn7" # Senha do Director do Bacula que foi definida no cliente @/etc/bacula/clientes/basic-client # Arquivo onde contem informacoes sobre o cliente. } Aqui nos definimos o job de backup do windows e depois a sua configurao. Agora vamos inserir no /etc/hosts a entrada para o win2012 vim /etc/hosts 127.0.0.1 localhost 192.168.0.80 bacula.douglas.wiki.br bacula 192.168.0.85 win2012.douglas.wiki.br win2012 [...] Agora vamos pingar no win2012 para verificarmos a conectividade ping win2012.douglas.wiki.br -c 2 PING win2012.douglas.wiki.br (192.168.0.85) 56(84) bytes of data. 64 bytes from win2012.douglas.wiki.br (192.168.0.85): icmp_req=1 ttl=128 time=0.438 ms 64 bytes from win2012.douglas.wiki.br (192.168.0.85): icmp_req=2 ttl=128 time=0.610 ms
--- win2012.douglas.wiki.br ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.438/0.524/0.610/0.086 ms Agora vamos mandar reiniciar o servio do bacula /etc/init.d/bacula-dir restart /etc/init.d/bacula-sd restart /etc/init.d/bacula-fd restart Agora vamos chamar o bconsole para testarmos a conexo com o cliente bconsole Connecting to Director bacula:9101 1000 OK: bacula-dir Version: 5.2.13 (19 February 2013) Enter a period to cancel a command. *status client=win2012-fd Connecting to Client win2012-fd at win2012.douglas.wiki.br:9102
Win2012-fd Version: 5.2.10 (28 June 2012) VSS Linux Cross-compile Win64 Daemon started 12-Apr-13 14:06. Jobs: run=0 running=0. Microsoft Standard Edition (build 9200), 64-bit Heap: heap=0 smbytes=18,754 max_bytes=18,901 bufs=53 max_bufs=54 Sizeof: boffset_t=8 size_t=8 debug=0 trace=1 Running Jobs: Director connected at: 12-Apr-13 14:08 No Jobs running. ====
Terminated Jobs: ==== * Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 Como pode ser notado estamos chegando no cliente com sucesso. Agora vamos mandar efetuar um backup do cliente *run Automatically selected Catalog: Catalogo Using Catalog "Catalogo" A job name must be specified. The defined Job resources are: 1: BackupCatalogo 2: RestoreFiles 3: BackupDirector 4: BackupWin2012 Select Job resource (1-4): 4 Run Backup job JobName: BackupWin2012 Level: Incremental Client: win2012-fd FileSet: WindowsFS Pool: File (From Job resource) Storage: File (From Job resource) When: 2013-04-12 14:15:08 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=5 You have messages. A mesma histria, run para rodar o backup, depois selecionamos a opo de backup no caso 4 para o win2012 e depois um yes para confirmar. Note que agora temos uma mensagem, podemos visualizar ela da seguinte forma no bconsole *mes 12-Abr 14:15 bacula-dir JobId 5: No prior Full backup Job record found. 12-Abr 14:15 bacula-dir JobId 5: No prior or suitable Full backup found in catalog. Doing FULL backup. 12-Abr 14:15 bacula-dir JobId 5: Start Backup JobId 5, Job=BackupWin2012.2013-04-12_14.15.10_03 12-Abr 14:15 bacula-dir JobId 5: Using Device "FileStorage" to write. 12-Abr 14:15 bacula-sd JobId 5: Volume "volume0001" previously written, moving to end of data. 12-Abr 14:15 bacula-sd JobId 5: Ready to append to end of Volume "volume0001" size=23120574 12-Abr 14:15 Win2012-fd JobId 5: Generate VSS snapshots. Driver="Win64 VSS", Drive(s)="CF" Agora vamos consultar os jobs *list jobs +-------+----------------+---------------------+------+-------+----------+------------+-----------+ | jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus | +-------+----------------+---------------------+------+-------+----------+------------+-----------+ | 1 | BackupCatalogo | 2013-04-12 13:27:05 | B | F | 1 | 43,545 | T | | 2 | BackupDirector | 2013-04-12 13:29:53 | B | F | 1,889 | 22,790,302 | T | | 3 | RestoreFiles | 2013-04-12 13:33:45 | R | F | 14 | 8,975 | T | | 4 | BackupWin2012 | 2013-04-12 14:15:22 | B | F | 0 | 0 | R | +-------+----------------+---------------------+------+-------+----------+------------+-----------+ * Ainda est executando, agora vamos verificar o status do cliente windows 2012 *status client=win2012-fd Connecting to Client win2012-fd at win2012.douglas.wiki.br:9102
Win2012-fd Version: 5.2.10 (28 June 2012) VSS Linux Cross-compile Win64 Daemon started 12-Apr-13 14:06. Jobs: run=1 running=0. Microsoft Standard Edition (build 9200), 64-bit Heap: heap=0 smbytes=183,408 max_bytes=189,680 bufs=120 max_bufs=127 2014/07/15 16:36 23/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ Sizeof: boffset_t=8 size_t=8 debug=0 trace=1 Running Jobs: JobId 5 Job BackupWin2012.2013-04-12_14.15.10_03 is running. VSS Full Backup Job started: 12-Apr-13 14:15 Files=132 Bytes=1,690,775,038 Bytes/sec=20,370,783 Errors=0 Files Examined=132 Processing file: C:/pagefile.sys SDReadSeqNo=5 fd=1084 Director connected at: 12-Apr-13 14:16 ====
Terminated Jobs: JobId Level Files Bytes Status Finished Name ====================================================================== Como podemos ver em Processing file: o que o bacula est copiando no momento, aqui temos que esperar ele terminar o backup. Configurao de um Cliente Debian Squeeze Vamos instalar os pr-requisitos para podermos compilar o bacula aptitude install libreadline-dev libreadline6-dev libreadline6-dev libreadline6 lib32readline6 lib32readline6-dev -y Agora vamos criar os diretrios para o bacula mkdir /var/lib/bacula mkdir /var/run/bacula mkdir /var/log/bacula mkdir -p /etc/bacula/scripts Agora vamos criar o usurio bacula useradd -s /bin/false -d /var/lib/bacula bacula Agora vamos ajustar as permisses dos diretrios chown -R bacula:bacula /var/lib/bacula /var/run/bacula /var/log/bacula /etc/bacula Agora vamos obter o pacote do bacula cd /usr/src wget -c http://www.douglas.wiki.br/Downloads/misc/bacula-5.2.13.tar.gz Agora vamos desempacotar o bacula tar -xzvf bacula-5.2.13.tar.gz Agora vamos acessar a pasta do bacula cd bacula-5.2.13/ Agora vamos preparar o pacote do bacula Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 CFLAGS="-g -Wall" ./configure --enable-client-only --enable-smartalloc --with-working-dir=/var/lib/ bacula --with-pid-dir=/var/run/bacula --with-logdir=/var/log/bacula --with-scriptdir=/etc/bacula/ scripts --with-readline=/usr/include/readline --disable-conio Agora vamos mandar compilar o bacula make Agora vamos mandar instalar o bacula make install Agora vamos mandar instalar os binrios de inicializao do bacula make install-autostart Agora vamos ajustar as permisses dos arquivos chown -R bacula:bacula /etc/bacula Agora vamos ajustar o /etc/hosts do cliente vim /etc/hosts 127.0.0.1 localhost 192.168.0.81 debian.douglas.wiki.br debian 192.168.0.80 bacula.douglas.wiki.br bacula [...] Vamos remover dois scripts que no so necessrios rm -rf /etc/init.d/bacula-sd rm -rf /etc/init.d/bacula-dir Agora vamos fazer o backup dos arquivos de configurao do bacula mkdir /usr/src/olds cp -Rfa /etc/bacula /usr/src/olds Agora vamos configurar o cliente vim /etc/bacula/bacula-fd.conf ############################################################## # ARQUIVO DE CONFIGURACAO DO FILE DAEMON DO BACULA # ##############################################################
# # List Directors who are permitted to contact this File daemon # Director { Name = bacula-dir # Nome do Director Password = "a5GGjJ4D7tRnm3C1TSLzU4glxdflLJ56OG77hjtT9zUF" # ESTA SENHA ESTA DEFINIDA NO ARQUIVO DE CLIENTE EM /ETC/BACULA/BACULA-DIR-CLIENTS-AND-JOBS.CONF }
# # Restricted Director, used by tray-monitor to get the # status of the file daemon # 2014/07/15 16:36 25/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ Director { Name = bacula-mon Password = "dBYlH/Q+inv85CGu7TCHpYTW2EtpUwwqHuEmjoRgl/l/" # ESTA SENHA E UTILIZADO PELO BACULA-MONITOR Monitor = yes }
# # "Global" File daemon configuration specifications # FileDaemon { Name = debian-fd # Nome do Bacula-fd FDport = 9102 # Porta de Comunicacao do bacula-fd WorkingDirectory = /var/lib/bacula # Diretorio de trabalho Pid Directory = /var/run/bacula # Diretorio de Pid Maximum Concurrent Jobs = 20 # Numero maximo de jobs executados no bacula FDAddress = 0.0.0.0 # COMENTAR OU REMOVER ESSA LINHA PARA QUE ELE POSSA 'OUVIR' CONEXOES EM TODAS AS INTERFACES }
# Send all messages except skipped files back to Director Messages { Name = Standard director = bacula-dir = all, !skipped, !restored # AS MENSAGEM SAO ENCAMINHADAS PARA O 'BACULA-DIR' DEFINIDO NESSA LINHA } Agora vamos ajustar o arquivo do bconsole que como vamos conectar no bacula para fazer backup pela linha de comando vim /etc/bacula/bconsole.conf # # Bacula User Agent (or Console) Configuration File #
Director { Name = bacula-dir DIRport = 9101 address = bacula.douglas.wiki.br Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3L" } Agora vamos reiniciar o servio do bacula-fd /etc/init.d/bacula-fd restart Agora vamos listar verificar se o bacula est escutando netstat -natu | egrep 9102 tcp 0 0 0.0.0.0:9102 0.0.0.0:* OUA Agora no servidor bacula vamos ajustar a configurao do novo cliente vim /etc/bacula/bacula-dir-clients-and-jobs.conf [...] #Inserir no final do arquivo Job { Name = "BackupDebian" # Nome do Job para Backup do Director (Proprio Servidor Bacula) JobDefs = "DefaultJobs" # JObDefs Definido Client = debian-fd # Cliente fd }
Client { Name = debian-fd # Cliente fd Last update: 2014/07/02 13:18 instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguesehttp://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese http://douglas.wiki.br/Printed on 2014/07/15 16:36 Address = debian.douglas.wiki.br # Ajustado no /etc/hosts Password = "a5GGjJ4D7tRnm3C1TSLzU4glxdflLJ56OG77hjtT9zUF" # Senha do Director do Bacula @/etc/bacula/clientes/basic-client # Arquivo onde contem informacoes sobre o cliente. } Agora vamos ajustar o /etc/hosts vim /etc/hosts 127.0.0.1 localhost 192.168.0.80 bacula.douglas.wiki.br bacula 192.168.0.92 win2008.douglas.wiki.br win2008 192.168.0.85 win2012.douglas.wiki.br win2012 192.168.0.81 debian.douglas.wiki.br debian Agora vamos reiniciar o bacula /etc/init.d/bacula-dir restart /etc/init.d/bacula-sd restart /etc/init.d/bacula-fd restart Agora vamos consultar o novo cliente no bconsole bconsole Connecting to Director bacula:9101 1000 OK: bacula-dir Version: 5.2.13 (19 February 2013) Enter a period to cancel a command. *status client=debian-fd Connecting to Client debian-fd at debian.douglas.wiki.br:9102
debian-fd Version: 5.2.13 (19 February 2013) x86_64-unknown-linux-gnu debian 6.0.7 Daemon started 12-Abr-13 15:50. Jobs: run=0 running=0. Heap: heap=135,168 smbytes=21,896 max_bytes=22,043 bufs=52 max_bufs=53 Sizeof: boffset_t=8 size_t=8 debug=0 trace=0 Running Jobs: Director connected at: 12-Abr-13 15:51 No Jobs running. ====
Terminated Jobs: ==== * Vamos fazer um backup dele para teste *run Automatically selected Catalog: Catalogo Using Catalog "Catalogo" A job name must be specified. The defined Job resources are: 1: BackupCatalogo 2: RestoreFiles 3: BackupDirector 4: BackupWin2008 5: BackupDebian Select Job resource (1-5): 5 Run Backup job JobName: BackupDebian Level: Incremental Client: debian-fd FileSet: Full Set Pool: File (From Job resource) Storage: File (From Job resource) When: 2013-04-12 15:51:52 Priority: 10 2014/07/15 16:36 27/27 Instalao e Configurao do Bacula no Debian Squeeze Douglas Quintiliano dos Santos - http://douglas.wiki.br/ OK to run? (yes/mod/no): yes Job queued. JobId=4 Mesma historia run para fazer o backup 5 para selecionar o meu cliente debian e yes para confirmar Agora vamos consultar os jobs do cliente *list jobs +-------+----------------+---------------------+------+-------+----------+---------------+-----------+ | jobid | name | starttime | type | level | jobfiles | jobbytes | jobstatus | +-------+----------------+---------------------+------+-------+----------+---------------+-----------+ | 1 | BackupCatalogo | 2013-04-12 15:13:50 | B | F | 1 | 43,545 | T | | 2 | BackupDirector | 2013-04-12 15:14:03 | B | F | 1,891 | 8,068,884 | T | | 3 | BackupWin2008 | 2013-04-12 15:29:26 | B | F | 72,791 | 4,444,285,065 | T | | 4 | BackupDebian | 2013-04-12 15:54:20 | B | F | 1,655 | 22,404,559 | T | +-------+----------------+---------------------+------+-------+----------+---------------+-----------+ * Referncias http://www.bacula.org/5.2.x-manuals/en/main/main/New_Features_in_5_2_x.html 1. http://www.bacula.org/5.0.x-manuals/en/main/main/Windows_Version_Bacula.html 2. http://sourceforge.net/mailarchive/forum.php?set=custom&viewmonth=&viewday=&forum_name=bacula-co 3. mmits&style=nested&max_rows=100&submit=Change+View http://tidahora.com.br/index.html/doku.php?id=start 4. From: http://douglas.wiki.br/ - Douglas Quintiliano dos Santos Permanent link: http://douglas.wiki.br/doku.php?id=instalacao_e_configuracao_do_bacula_no_debian_squeeze_portuguese Last update: 2014/07/02 13:18