Backup é o termo utilizado para definir cópia de segurança. Ele é utilizado para salvar periodicamente arquivos em outras mídias de armazenamento para segurança. Caso aconteça qualquer coisa que resulte em perda dos arquivos, utiliza-se o backup para recuperá-los.
É recomendado ter mais de um backup e mais de um lugar para salvar o backup, uma vez que da mesma forma que pode acontecer perda de arquivo, o backup é suscetível a perda também.
O Bacula é uma ferramenta de backup a nível enterprise que executa tarefas pré definidas, podendo ser backups, verificações e restaurações. As principais formas de backup são:
- Full: Se trata do backup completo dos dados.
- Diferencial: É composto pela diferença entre os arquivos atuais da máquina e os arquivos do último backup full.
- Incremental: É composto pelas diferenças do último backup.
As tarefas(Jobs) realizadas pelo bacula necessitam de parâmetros chamados de JobDefs, que nada mais, nada menos sao as configurações que a tarefa vai realizar. Exemplos: nome da tarefa, local onde será feito o backup, a data em que ela será realizada, os conjutos de arquivos a serem copiados.
O bacula é dividido em módulos, e cada um deles é responsável por desempenhar uma função diferente, sao eles:
- Bacula Director: É responsável por controlar os jobs de backup, clientes e agendamentos.
- Bacula SD(Storage Daemon): Responsável pelas mídias de gravação e armazenamento
- Bacula FA(File Daemon): É responsável por mapear quais arquivos deve ser copiados no backup e obte-los do cliente no qual está instalado.
- Bacula Console: Responsável pelas operações administrativas.
- Bacula Monitor: É responsável pelo monitoramento e envios de informações sobre a situação do bacula.
A imagem abaixo demonstra esquematicamente como funciona a hierarquia dos módulos do Bacula: