Notícias
Novos modelos de linguagem da API Serverspace GPT
JH
Joe Harris
outubro 1, 2020
Atualizado janeiro 31, 2025

Como configurar backups remotos usando o Bacula no Ubuntu 20.04

Backup Linux Ubuntu

Using another OS?

Select the desired version or distribution.

Recentemente, configuramos o arquivo backup em um Ubuntu Server 20.04 local com o Bacula, usaremos esse servidor como Bacula Director e Storage. Neste tutorial, adicionaremos configurações para fazer o backup de um cliente remoto.

Instalando e configurando o cliente

O cliente é uma máquina remota que executa o Ubuntu Server 20.04, cujos dados serão armazenados em backup. Vamos instalar o pacote Bacula para ele.

sudo apt install bacula-client

Abra o arquivo de configuração.

sudo nano /etc/bacula/bacula-fd.conf

Copie a senha da primeira seção do Director para um local disponível para uso futuro no servidor Bacula.

Director {
Name = Ubuntu-Server # Enter the name of the server’s Bacula Director here
Password = "6L8hAXhC3BES4OlbkI2F-v6Xq66Dem05v" #Copy this value
}

Defina também os valores "Name" e "FDAddress" na seção FileDaemon. O mesmo nome que definiremos no servidor Bacula para esse cliente daemon de arquivo e "FDAddress" deve conter o endereço IP no qual esse cliente está disponível.

FileDaemon {
Name = Ubuntu-Client-fd
FDport = 9102
WorkingDirectory = /var/lib/bacula
Pid Directory = /run/bacula
Maximum Concurrent Jobs = 20
Plugin Directory = /usr/lib/bacula
FDAddress = 10.5.5.5
}

Salve o arquivo e reinicie o serviço.

sudo systemctl restart bacula-fd

Para poder restaurar arquivos nesse computador, crie uma pasta e torne o bacula seu proprietário.

mkdir /opt/restore
chown bacula:bacula /opt/restore

Configuração do servidor Bacula

O servidor Bacula já está configurado. Usaremos o armazenamento existente e adicionaremos uma configuração para fazer o backup do cliente.

Defina o endereço IP do servidor no parâmetro "SDAddress" da seção "Storage" no arquivo /etc/bacula/bacula-sd.conf.

Storage {
...
SDAddress = 10.5.5.1
}

Abra o arquivo de configuração do Bacula Director /etc/bacula/bacula-dir.conf.
Digite o endereço IP do servidor no campo "DirAddress" da seção Director.

Director {
Name = Ubuntu-Server
...
DirAddress = 10.5.5.1
}

Digite o mesmo endereço no parâmetro "Address" (Endereço) da seção "Storage" (Armazenamento).

Storage {
...
Address = 10.5.5.1
}

Você também precisa inseri-lo no parâmetro "Address" no arquivo /etc/bacula/bconsole.conf.
Agora, vá para o arquivo /etc/bacula/bacula-dir.conf novamente e adicione uma nova seção "Client".

Client {
Name = Ubuntu-Client-fd # Value of the “Name” field in the “FileDaemon” section on the client
Address = 10.5.5.5 # IP address of the client
FDPort = 9102
Catalog = MyCatalog
Password = "6L8hAXhC3BES4OlbkI2F-v6Xq66Dem05v" # Paste here the value of the “Password” parameter in the “Director” section on the client
}

Adicione uma nova seção "FileSet" com um nome exclusivo. Os parâmetros "File" definem os caminhos para o backup. Você pode adicionar qualquer número deles.

FileSet {
Name = "RemoteFS"
Include {
Options {
signature = MD5
}
File = /home/user1
File = /home/user2
}
}

Adicione uma nova seção "Schedule", defina um nome exclusivo para ela e selecione um horário para o backup.

Schedule {
Name = "RemoteDaily"
Run = Full daily at 05:00
}

Adicione uma nova seção Pool.

Pool {
Name = RemotePool
Pool Type = Backup
Label Format = "RM-" # New label for separating files in the backup storage from local backups
}

Adicione uma nova seção Job.

Job {
Client = "Ubuntu-Client-fd" # The “Name” value of the recently created “Client”
Name = "RemoteBackup"
JobDefs = "DefaultJob"
Enabled = yes
Level = Full
FileSet = "RemoteFS" # The name of recently added “FileSet’ section
Schedule = "RemoteDaily" # The name of the schedule for this Job
Pool = "RemotePool" # Must be equal to the recently created “Pool” name
Storage = LocalSD
Write Bootstrap = "/var/lib/bacula/RemoteBackup.bsr"
}

Adicione também a seção "Job" para poder restaurar os dados.

Job {
Name = "RemoteRestore"
Type = Restore
Client= "Ubuntu-Client-fd"
FileSet="Full Set"
Storage = LocalSD
Pool = "RemotePool"
Messages = Standard
Where = /opt/restore # Path to the folder that we created on the client for data restore
Bootstrap = "/var/lib/bacula/RemoteBackup.bsr"
}

Salve e feche o arquivo e reinicie o serviço Bacula.

sudo systemctl restart bacula-dir

Executando o backup do servidor remoto usando o Bacula

O trabalho de backup será iniciado no horário programado. Para iniciá-lo imediatamente, vá para o "bconsole".

bconsole

Saída:

Connecting to Director 10.5.5.1:9101
1000 OK: 103 Ubuntu-Server Version: 9.4.2 (04 February 2019)
Enter a period to cancel a command.
*

Digite "run" e selecione o trabalho "RemoteBackup". Agora você pode verificar, modificar ou confirmar os parâmetros listados. Você também pode alterar o destino da recuperação de arquivos nessa etapa, por exemplo. Isso pode ser útil no caso de perda do cliente.

Run Backup job
JobName: RemoteBackup
Level: Full
Client: Ubuntu-Client-fd
FileSet: RemoteFS
Pool: RemotePool (From Job resource)
Storage: LocalSD (From Job resource)
...

Para exibir informações sobre trabalhos agendados, em execução e encerrados, digite "status" e "1".
Para restaurar dados, digite o comando "restore" no bconsole e siga as instruções.

Avaliação:
5 fora de 5
Аverage rating : 5
Avaliado por: 2
CEP 01311-930 São Paulo Avenida Paulista, nº 1765, 7º andar, Cj. 72, CV 10172, Bela Vista
+ 55 11 5118-1047
ITGLOBAL.COM BR LTDA
Usamos cookies para melhorar sua experiência no Serverspace. Ao continuar a navegar em nosso site, você concorda com o Uso de Cookies e com a Política de Privacidade.