O Bareos é composto por três componentes principais: o Director, que controla os backups; o Console, que permite gerenciar o servidor via linha de comando; o Storage Daemon, que armazena os dados de backup de forma independente; e o File Daemon, que atua como cliente, fornecendo os arquivos de backup ao Director.

Utilizaremos a seguinte versão do Debian
# cat /etc/os-release
PRETTY_NAME=”Debian GNU/Linux 11 (bullseye)”
NAME=”Debian GNU/Linux”
VERSION_ID=”11″
VERSION=”11 (bullseye)”
VERSION_CODENAME=bullseye
Instalar Dependências:
# apt install nmap vim gnupg2 -y
Baixe o script para adicionar os repositórios do Bareos:
# wget https://download.bareos.org/current/Debian_11/add_bareos_repositories.sh
Dê permissão de execução ao script:
# chmod +x add_bareos_repositories.sh
Execute e apague o script:
# bash add_bareos_repositories.sh && rm add_bareos_repositories.sh
Atualize a lista de pacotes:
# apt update
Instale o PostgreSQL, Bareos e os pacotes necessários:
# apt install postgresql postgresql-contrib bareos bareos-database-postgresql -y
Responda conforme as imagens:

SIM

Localhost, OK

Utililze uma senha forte
Instale o Bareos WebUI:
# apt install bareos-webui -y
Habilitar o módulo proxy_fcgi
e setenvif
:
# /usr/sbin/a2enmod proxy_fcgi setenvif
Habilitar a configuração do PHP 7.4-FPM:
# /usr/sbin/a2enconf php7.4-fpm
Crie um redirecionamento permanente para o Apache:
# sed -i '11i RedirectMatch permanent ^/$ /bareos-webui/' /etc/apache2/sites-available/000-default.conf
Recarregue o Apache para aplicar as alterações:
# systemctl reload apache2
Configurar o Bareos
Crie o arquivo de configuração:
cat <<EOF > /etc/bareos/bareos-dir.d/console/admin.conf
#
# Restricted console used by bareos-webui
#
Console {
# Login e senha (bareos-webui)
Name = admin
Password = "P@ssw0rd"
Profile = "webui-admin"
# As php does not support TLS-PSK,
# and the director has TLS enabled by default,
# we need to either disable TLS or setup
# TLS with certificates.
#
# For testing purposes we disable it here
TLS Enable = No
}
EOF
Reinicie os serviços do Bareos para aplicar as alterações:
# systemctl restart bareos-dir
# systemctl restart bareos-sd
# systemctl restart bareos-fd
Os serviços mencionados são:
bareos-dir
(Bareos Director): Este é o componente central do Bareos que gerencia e controla as operações de backup, recuperação, verificação e arquivamento. Ele coordena a comunicação entre os outros componentes do Bareos.
bareos-sd
(Bareos Storage Daemon): Este serviço é responsável pelo armazenamento físico dos dados de backup. Ele recebe os dados do File Daemon e os armazena no dispositivo de backup configurado (disco, fita, etc.).
bareos-fd
(Bareos File Daemon): Também conhecido como cliente Bareos, este serviço é instalado nos sistemas que precisam ser protegidos. Ele lida com a transmissão de dados para o Storage Daemon, sob o controle do Director.
Se você executar esse comando, verá o status atual desses daemons, incluindo se estão ativos (em execução), inativos ou se há algum erro.
# systemctl status bareos-dir bareos-sd bareos-fd
Acesse a página de login do bareos-webui:
http://192.168.0.*/bareos-webui
Adicionar uma conta de usuário (operator
– webui-readonly
)
bconsole
configure add console name=joserf password=secret profile=webui-admin tlsenable=false

A tela de login pode ser alterada para o tema default da seguinte forma:
# sed -i '69iname=default' /etc/bareos-webui/configuration.ini
Configurações iniciais (Schedules)
# vim /etc/bareos/bareos-dir.d/schedule/DailyBackup.conf
Adicione um dos exemplos abaixo:
Backup Diário (Todos os dias às 23:00)
Schedule {
Name = "DailyBackup"
Run = Full daily at 23:00
#Run = Incremental mon-sat at 23:00
}
Backup Semanal (Full no Domingo, Incremental de Segunda a Sábado)
# vim /etc/bareos/bareos-dir.d/schedule/WeeklyCycle.conf
Schedule {
Name = "WeeklyCycle"
Run = Full 1st sun at 23:00
Run = Incremental mon-sat at 23:00
}
Configurar a retenção nos Pools (Differential.conf
Full.conf
Incremental.conf
)
# vim /etc/bareos/bareos-dir.d/pool/Differential.conf
Pool {
Name = Differential
Pool Type = Backup
Recycle = yes # Bareos can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 90 days # How long should the Differential Backups be kept?
Maximum Volume Bytes = 10G # Limit Volume size to something reasonable
Maximum Volumes = 100 # Limit number of Volumes in Pool
Label Format = "Differential-" # Volumes will be labeled "Differential-<volume-id>"
}
Após as mudanças, reinicie o Bareos Director para aplicar as novas configurações:
# systemctl restart bareos-director
Backup Mensal (Full no 1º dia do mês, Diferencial todo Domingo)
# vim /etc/bareos/bareos-dir.d/schedule/MonthlyBackup.conf
Schedule {
Name = "MonthlyBackup"
Run = Full 1st sun at 23:00
Run = Differential sun at 23:00
}
Instalação do cliente de backup (Linux)
Adicione o repositório oficial do bareos, no exemplo Ubuntu 22.04
wget https://download.bareos.org/current/xUbuntu_22.04/add_bareos_repositories.sh && chmod +x add_bareos_repositories.sh
Execute o script para instalação do Bareos no Ubuntu
$ sudo sh ./add_bareos_repositories.sh && rm add_bareos_repositories.sh
$ sudo apt update
$ sudo apt install bareos-client
Edite o arquivo de configuração e altere os dados como desejar
$ sudo vim /etc/bareos/bconsole.conf
#
# Bareos User Agent (or Console) Configuration File
#
Director {
Name = bareos-dir # Não alterar
address = localhost # Não alterar
Password = "ekkt632oF6ijB51e4QDD0oMC29XzCCVKzIxwIKS7Bbtf"
Description = "Bareos Console credentials for local Director"
}
Altere apenas a senha nos arquivos abaixo para que fiquem iguais à do arquivo acima.
$ sudo vim /etc/bareos/bareos-fd.d/director/bareos-dir.conf
$ sudo vim /etc/bareos/bareos-fd.d/director/bareos-mon.conf
O arquivo abaixo altere apenas o Name, no nosso exemplo Name=ti023-fd
$ sudo vim /etc/bareos/bareos-fd.d/client/myself.conf
Reiniciando o serviço e verificando o status
$ sudo service bareos-fd restart && sudo service bareos-fd status
Nomes de host em endereços IP (necessário quando não temos um servidor DNS)
$ sudo vim /etc/hosts
192.168.0.32 srvBareos # IP Servidor Bareos
No servidor Bareos (Debian 11), crie o arquivo do cliente, no exemplo ti023
# vim /etc/bareos/bareos-dir.d/client/ti023-fd.conf
Client {
Name = "ti023-fd"
Address = 192.168.0.23
Password = "ekkt632oF6ijB51e4QDD0oMC29XzCCVKzIxwIKS7Bbtf"
ConnectionFromDirectorToClient = yes
Catalog = MyCatalog
}
# vim /etc/bareos/bareos-dir.d/fileset/fileset-ti023.conf
FileSet {
Name = "FileSet-ti023"
Include {
Options {
signature = MD5
Compression = GZIP
}
File = /home/joserf
}
# Opcional: Excluir alguma subpasta, arquivo temporário, etc.
# Exclude {
# File = /home/joserf/.cache
# File = /home/joserf/algumaOutrasPastaQueNaoQuero
# }
}
# vim /etc/bareos/bareos-dir.d/job/backup-ti023.conf
Job {
Name = "Backup-ti023"
Type = Backup
Client = "ti023-fd"
FileSet = "FileSet-ti023"
Schedule = "DailyBackup" # Escolha o Schedule que deseja
Storage = "File"
Pool = "Full"
Messages = "Standard"
#Messages = "BackupAlerts" # Alertas no whatsapp
Priority = 10
# Executa um comando antes do backup iniciar
RunScript {
Command = "echo 'Backup iniciando'"
RunsWhen = Before
RunsOnClient = yes
}
# Executa um comando depois que o backup terminar
RunScript {
Command = "echo 'Backup concluído'"
RunsWhen = After
RunsOnClient = yes
}
}
RunScript
→ Bloco para definir comandos personalizados antes e depois do backup.
Command = "comando"
→ O comando que será executado.
RunsWhen = Before
→ Define que o comando roda antes do backup.
RunsWhen = After
→ Define que o comando roda após o backup.
RunsOnClient = yes
→ O comando será executado no cliente do backup.
- Se quiser rodar no servidor Bareos, use
RunsOnClient = no
.
Reinicie os serviço do Bareos para aplicar as alterações:
# systemctl restart bareos-dir
Instalação do cliente de backup (Windows)
Testar a Resolução de Nome no Cliente Windows

Bareos Community Repository:
https://download.bareos.org/current/
https://download.bareos.org/current/windows
Após a instalação, o arquivo de configuração é gerado, conforme abaixo:

O sufixo “-fd” no nome do cliente no Bareos significa “File Daemon”. Isso é um padrão de nomenclatura do Bareos para diferenciar os componentes do sistema:
-sd → Bareos Storage Daemon (onde os backups são armazenados)
-dir → Bareos Director
-fd → Bareos File Daemon (cliente que recebe o backup)
No servidor Bareos (Debian 11), crie o arquivo do cliente.
# vim /etc/bareos/bareos-dir.d/client/srvad-fd.conf
Adicione:
Client {
Name = "srvad-fd"
Address = "192.168.0.90" # IP do cliente Windows (srvAD)
Password = "/cDQhGNUqkMJHy2muDs8ddveNKtzBgEAku9z0A0YfG9l"
ConnectionFromDirectorToClient = yes
Catalog = MyCatalog
}
Explicação dos parâmetros:
Name = "srvad-fd"
→ Nome do cliente Windows no Bareos.Address = "192.168.0.90"
→ IP do cliente Windows (srvad-fd).Password = "/cDQhGNUqkMJHy2muDs8ddveNKtzBgEAku9z0A0YfG9l"
ConnectionFromDirectorToClient = yes
→ Permite conexão do Bareos Director ao cliente Windows.Catalog = MyCatalog
→ Usa o catálogo principal do Bareos.
Crie um FileSet específico para este cliente.
# vim /etc/bareos/bareos-dir.d/fileset/fileset-srvad.conf
Adicione:
FileSet {
Name = "FileSet-srvad"
Include {
Options {
Signature = MD5
Compression = GZIP
}
File = "C:/Rede"
}
}
Explicação:
"C:/Rede"
→ Define que somente essa pasta será salva no backup.Compression = GZIP
→ Reduz o tamanho do backup.Signature = MD5
→ Garante integridade dos arquivos.
Agora, crie um Job para o cliente srvad-fd.
# vim /etc/bareos/bareos-dir.d/job/backup-srvad.conf
Adicione:
Job {
Name = "Backup-srvad"
Type = Backup
Client = "srvad-fd"
FileSet = "FileSet-srvad"
Schedule = "WeeklyCycle"
Storage = "File"
Pool = "Full"
Messages = Standard
Priority = 10
}
Explicação:
Client = "srvad-fd"
→ Nome do cliente Windows.FileSet = "FileSet-srvad"
→ Usa o FileSet criado para apenasC:\Rede
.Schedule = "WeeklyCycle"
→ Pode ser ajustado conforme necessário.
Após configurar o FileSet e o Job, reinicie o Bareos Director:
# systemctl restart bareos-dir
Verifique se o cliente está registrado:
bconsole
reload
status

Se o cliente responder, está tudo funcionando!
Se der erro “Failed to connect”, verifique:
- Se o serviço do Bareos FD está rodando (
services.msc
no Windows). - Se a porta 9102 está aberta (
netstat -ano | findstr :9102
no Windows). - Se o firewall está bloqueando
Associar o Schedule ao Job do Cliente
Agora, edite o Job do Backup do cliente srvad-fd
:
# vim /etc/bareos/bareos-dir.d/job/backup-srvad.conf
Job {
Name = "Backup-srvad"
Type = Backup
Client = "srvad-fd"
FileSet = "FileSet-srvad"
Schedule = "DailyBackup" # Escolha o Schedule que deseja
Storage = "File"
Pool = "Full"
Messages = Standard
Priority = 10
}
Após configurar o Schedule, reinicie o Bareos Director:
# systemctl restart bareos-dir
Confira se o Schedule foi aplicado corretamente:
bconsole
show schedules
Para testar se o backup será executado no horário correto:
status scheduler
Dicas:
Erros de configuração, teste a sintaxe antes de reiniciar, Se houver erros, eles serão exibidos, se o comando não mostrar erros, a configuração está correta.
# /usr/sbin/bareos-dir -t
O systemd
bloqueia reinicializações após múltiplas falhas. Para liberar e permitir que o Bareos Director seja reiniciado:
# systemctl reset-failed bareos-director
# systemctl restart bareos-director
# systemctl status bareos-director
Se o Bareos PostgreSQL como catálogo, o serviço do banco de dados pode estar fora do ar.
# systemctl status postgresql