Como configurar backups remotos usando o Bacula no CentOS 8
Neste tutorial, instalaremos o cliente Bacula em um servidor CentOS 8 e o usaremos para fazer backup de arquivos. Os backups serão armazenados em um servidor remoto. Para isso, usaremos a máquina Ubuntu onde instalamos e configuramos o Bacula Director. Você pode usar qualquer outro sistema operacional para isso: CentOS, RHEL, Debian, etc. A configuração do Bacula será a mesma.
Instalando e configurando o cliente Bacula
Instalar o cliente.
Se o firewall estiver ativado, adicione uma regra do Bacula a ele.
[/passo]
firewall-cmd --reload
Agora, abra o arquivo de configuração do cliente Bacula.
Especifique a senha do cliente e o nome do diretor do Bacula no arquivo /etc/bacula/bacula-dir.conf do servidor:
Name = bacula-dir
Password = "password"
}
Você também precisará inserir o nome do cliente e o endereço IP que o Bacula Director usará para acessar o cliente.
Name = CentOS-client-fd
...
FDAddress = 10.0.0.5
}
Salve o arquivo e habilite o cliente Bacula.
[/passo]
Para garantir a capacidade de restaurar arquivos nessa máquina, crie uma pasta e atribua o Bakula como seu proprietário.
chown bacula:bacula /var/bacula
Configuração do Bacula Director
Você precisa fazer algumas alterações na máquina do servidor para ativar o backup remoto. Primeiro, insira o endereço IP que o cliente Bacula usará para acessar essa máquina no parâmetro SDAddress da seção Storage no arquivo /etc/bacula/bacula-sd.conf.
...
SDAddress = 10.0.0.10
}
Faça a mesma coisa para o DirAddress no arquivo /etc/bacula/bacula-dir.conf.
...
DirAddress = 10.0.0.10
}
E no parâmetro Address da seção Storage.
...
Address = 10.0.0.10
}
E o último está no arquivo /etc/bacula/bconsole.conf, digite o mesmo IP no parâmetro address.
...
address = 10.0.0.10
}
Você precisa adicionar informações sobre o cliente e seus parâmetros de backup ao arquivo /etc/bacula/bacula-dir.conf. Name, Address e Password devem ser os mesmos que especificamos no cliente no arquivo /etc/bacula/bacula-fd.conf.
Name = CentOS-client-fd
Address = 10.0.0.5
FDPort = 9102
Catalog = MyCatalog
Password = "password"
}
Adicione as informações do caminho de backup aos parâmetros File em uma nova seção FileSet com um nome exclusivo.
Name = CentOS-FS
Include {
Options {
signature = MD5
}
File = /path/to/be/backuped1
File = /path/to/be/backuped2
}
}
Em seguida, insira um novo agendamento com um novo nome e a frequência de backup necessária.
Name = CentOS-Daily
Run = Full daily at 01:00
}
O novo pool permite que você separe os arquivos de backup dos existentes.
[/passo]
Name = CentOS-Pool
Pool Type = Backup
Label Format = CentOS-
}
Por fim, insira uma seção Job e insira os parâmetros Name das seções recém-criadas Client, FileSet, Schedule, Pool nos campos correspondentes.
Client = CentOS-client-fd
Name = CentOS-Backup
JobDefs = DefaultJob
Enabled = yes
Level = Full
FileSet = CentOS-FS
Schedule = CentOS-Daily
Pool = CentOS-Pool
Storage = LocalSD
Write Bootstrap = "/var/lib/bacula/RemoteBackup.bsr"
}
É possível inserir outra seção Job para restaurar arquivos.
[/passo]
Client = CentOS-client-fd
Name = CentOS-Restore
Messages = Standard
FileSet = CentOS-FS
Pool = CentOS-Pool
Storage = LocalSD
Type = Restore
Bootstrap = "/var/lib/bacula/RemoteBackup.bsr"
Where = /var/bacula # Path on the client to restore the backup
}
A tarefa de backup agora será executada de acordo com o cronograma configurado.
Iniciando o backup e a restauração
As tarefas podem ser iniciadas manualmente. Há um console de gerenciamento para essa finalidade. Ele também fornece informações sobre tarefas agendadas e muitas outras. Para acessá-lo, digite:
Output:
1000 OK: 103 Ubuntu-Server.local-dir Version: 9.4.2 (04 February 2019)
Enter a period to cancel a command.
*
Você pode ver todos os comandos digitando o comando help. Para executar um trabalho, digite run ou para iniciar um trabalho de restauração, digite restore e siga as instruções.