blog_bidela-sistema_backup_bacula

Bacula – Restaurando Backup Usando BConsole

Restaurando Backup Usando BConsole 

Esse artigo destinasse a realizar uma restauração de um backup feito pelo Bacula de um cliente de nosso sistema. Usaremos o comando restore para realizar essa restauração em um cliente e um diretório diferente, normalmente a restauração ocorre no mesmo cliente que o backup foi realizado, porém, iremos disponibilizar essa restauração em um diretório a parte, onde o arquivo poderá ser usando para outros fins, como levantar uma base de teste, para analise de dados e etc…

Vale lembrar que podemos restaurar um backup diretamente do cliente que teve seu arquivo “backupiado”, mais esse será outro artigo.

Estando logado com perfil root no seu servidor Linux do Bacula vamos conectar na console do Bacula com o seguinte comando:

bconsole
Linux bacula 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

As seguintes mensagens serão exibidas

Connecting to Director bacula.cacula.com:9101
1000 OK: 102 bacula-dir Version: 7.4.4 (20 September 2016)
Enter a period to cancel a command.
*

Vamos evitar de digitar o asterisco já que é padrão do bconsole coloca-lo n inicio de cada comando.

O seguinte comando vai listar todos os comandos disponíveis no bconsole.

help

A seguinte lista de comandos do bconsole será exibida:

Command Description
======= ===========
add Add media to a pool
autodisplay Autodisplay console messages
automount Automount after labe
cancel Cancel a job
create Create DB Pool from resource
delete Delete volume, pool or job
disable Disable a job, attributes batch process
enable Enable a job, attributes batch process
estimate Performs FileSet estimate, listing gives full listing
exit Terminate Bconsole session
gui Non-interactive gui mode
help Print help on specific command
label Label a tape
list List objects from catalog
llist Full or long list like list command
messages Display pending messages
memory Print current memory usage
mount Mount storage
prune Prune expired records from catalog
purge Purge records from catalog
quit Terminate Bconsole session
query Query catalog
restore Restore files
relabel Relabel a tape
release Release storage
reload Reload conf file
run Run a job
restart Restart a job
resume Resume a job
status Report status
stop Stop a job
setdebug Sets debug level
setbandwidth Sets bandwidth
snapshot Handle snapshots
setip Sets new client address -- if authorized
show Show resource records
sqlquery Use SQL to query catalog
time Print current time
trace Turn on/off trace to file
truncate Truncate one or more Volumes
unmount Unmount storage
umount Umount - for old-time Unix guys, see unmount
update Update volume, pool or stats
use Use catalog xxx
var Does variable expansion
version Print Director version
wait Wait until no jobs are running

When at a prompt, entering a period cancels the command.

You have messages.

*

Na lista que é exibida, digitaremos o comando que suprira nossa de demanda, que nesse caso é comando restore já que o nosso objetivo é restaurar um backup.

restore

Novas mensagens serão exibidas com as opções para escolhermos como consultar os Jobs para restauralção.

Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"

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 (Lista os ultimos 20 jobs executados)
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):

Essas opções definam a forma que queremos consultar o Job a ser restaurado. Suponhamos que eu já tenha o ID do Job (1430310), com posse do ID podemos escolher a opção três que dará a opção de entrar com o Jobs a ser restaurado.

Select item: (1-13): 3

Na opção seguinte entraremos com o ID do Job a ser restaurado.

Enter JobId(s), comma separated, to restore: 1430310

Seremos notificados da escolha do Jobs mais a quantidade de arquivo a ser restaruiado.

You have selected the following JobId: 1430310
Building directory tree for JobId(s) 1430310 ...
2 files inserted into the tree.
You are now entering file selection mode where you add (mark) and remove (unmark) files to e restored. No files are initially added, unless you used the "all" keyword on the command line. Enter "done" to leave this mode.

Agora deveremos marcar o arquivo que queremos restaurar

Navegaremos até o arquivo que queremos restaurar para marcá-lo. Esse campo funciona como o terminal Linux. Em todo momento poderá usar o comando dir para listar e saberqua direotrio tem para acessar. E como o comando cd pode navegar nos diretórios.

O cwd is: / nos indica que estamos no diretória raiz do servidor

cwd is: /

Com o comando dir ou ls listamos os diretórios e arquivos no diretório atual, em nosso exemplo temos um único diretório no diretório Raiz E:/

$ dir
---------- 0 root root 0 1969-12-31 21:00:00 E:/

Vamos usar o comando cd para navegar entre os diretórios até encontrarmos o arquivo que queremos marcar para restaurar. Usando a tecla “Tab” Do teclado é possível completar o nome dos diretórios ou arquivos depois de entrar com as letras iniciais.

dir
---------- 0 root root 0 1969-12-31 21:00:00 E:/
$ ls
E:/
$ cd D:/BACKUP/DATABASE/FULL/
dir
-rwxrwxrwx 1 root root 14710888960 2021-08-22 01:02:07 D:/BACKUP/DATABASE/FULL/NOMEARQUIVO.BAK
ls
NOMEARQUIVO.BAK

Vamos marcar o arquivo para restauração com o comando mark

Mark NOMEARQUIVO.BAK

Se tudo ocorreu bem a seguinte mensagem deve ser exibida

1 file marked

Vamos sair do menu restore e retornar para o menu principal

$ done

Algumas informações quanto ao arquivo a ser restaurado serão exibidas.

Bootstrap records written to /var/lib/bacula/bacula-dir.restore.1.bsr
The Job will require the following (*=>InChanger):
Volume(s) Storage(s) SD Device(s)
===========================================================================
MILLENIUM_WMS_FULL0002 ArquivoFULLWMS Device_SrvSqlBkp_FULLWMS
Volumes marked with "*" are in the Autochanger.
1 file selected to be restored.

Nesse momento teremos a opção de realizar mais algumas configurações. Serão listados todos os cliente cadastrados no seu servidor Bacula.

Defined Clients:
1: bacula-fd
2: cliente01-fd
3: cliente02-fd
4: cliente03-fd
Select the Client (1-4): 

Iremos escolher o cliente bacula-fd que corresponde o número 1. Esse cliente é nosso servidor Bacula, onde restauraremos o backup.

Defined Clients:
1: bacula-fd
2: cliente01-fd
3: cliente02-fd
4: cliente03-fd
Select the Client (1-4): 1

Após escolhe um cliente para restaurar o backup, as informações de como a restauração será processada serão exibidas.

Using Catalog "MyCatalog"
Run Restore job
JobName: Restore_Cacula
Bootstrap: /var/lib/bacula/bacula-dir.restore.1.bsr
Where: *None*
Replace: Always
FileSet: Full Set
Backup Client: bacula-fd
Restore Client: bacula-fd
Storage: ArquivoFULLWMS
When: 2021-07-28 12:02:31
Catalog: MyCatalog
Priority: 10
Plugin Options:
OK to run? (yes/mod/no): mod
Parameters to modify:
1: Level
2: Storage
3: Job
4: FileSet
5: Restore Client
6: When
7: Priority
8: Bootstrap
9: Where
10: File Relocation
11: Replace
12: JobId
13: Plugin Options

Nesse momento podemos alterar as opções de restauração. No meu caso irei alterar o caminho que o arquivo será restaurado. Como escolhi o cliente do próprio servidor Bacula bacula-fd, teremos que escolher um caminho que esteja configurado nesse cliente. Para alterar o destino do restor iremos alterar o campo Where que está configurado para *None*.

Então vamos escolher a opção 9.

Select parameter to modify (1-13): 9

Entraremos com o caminho onde o backup será restaurado.

Please enter the full path prefix for restore (/ for none): mnt/share/srvsqlbkp/

Após clicar em Enter será exibida as configurações do restore com o devido ajustes.

Run Restore job
JobName: Restore_Cacula
Bootstrap: /var/lib/bacula/bacula-dir.restore.1.bsr
Where: mnt/share/srvsqlbkp/
Replace: Always
FileSet: Full Set
Backup Client: bacula-fd
Restore Client: bacula-fd
Storage: ArquivoFULLWMS
When: 2021-07-28 12:02:31
Catalog: MyCatalog
Priority: 10
Plugin Options:
OK to run? (yes/mod/no): yes
Job queued. JobId=1431893
*

Agora é só aguardar o fim do restore, que dependerá do tamanho do arquivo. Para utilizá-lo navegue no diretório que restaurou os arquivos e boa sorte.

Na ultima linha temos o ID do Job que está executando a nossa restauração. Na fila do JOB poderemos acompanhar a evolução da nossa restauração do backup.

Se está gostando das postagens, se inscreva em nosso site para receber mais materiais de nosso blog, é grátis, você vai ser notificado quando novas postagens forem publicadas, recebendo assim mais conteúdos de qualidades e ainda vai dar aquela força pra nossa comunidade. E não esquece de compartilhar em suas redes sociais os botões estão no final desse página.

No final dessa página temos um campo onde você é bem vindo para deixar seus comentários. Pode ser uma opinião, elogios, críticas ou correções. Pode ficar a vontade para tirar suas dúvidas ou colaborar acrescentando algo que tenhamos deixado passar desapercebido.

Sua visita e feedback é muito importante para o nosso espaço.

1 comentário em “Bacula – Restaurando Backup Usando BConsole”

Deixe uma resposta