Março 6, 2022

Como Fazer backup de um sistema Debian usando Backupninja

última atualização em 19 de setembro de 2020 por Gabriel Cánepa

prudência ou experiência por desastre pode ensinar a todos os administradores de sistemas a importância de fazer backups frequentes do sistema. Você pode fazer isso escrevendo bons scripts de shell antigos ou usando uma (ou mais) das muitas ferramentas de backup disponíveis para o trabalho (por exemplo, Clonezilla, Duplicity). Assim, quanto mais ferramentas você se familiarizar, mais decisões informadas você tomará ao implementar uma solução de backup.

neste artigo, apresentaremos Backupninja, uma ferramenta de backup do sistema leve e fácil de configurar. Com a ajuda de programas como rdiff-backup, duplicity, mysqlhotcopy e mysqldump, o Backupninja oferece recursos de backup comuns, como backups remotos, seguros e incrementais do sistema de arquivos, backup criptografado e backup do banco de dados MySQL/MariaDB. Você pode ativar seletivamente relatórios de E-mail de status e também pode fazer backup de Informações Gerais de hardware e sistema. Uma força chave do Backupninja é um assistente integrado baseado em console (chamado ninjahelper) que permite criar facilmente arquivos de configuração para vários cenários de backup.

a desvantagem, por assim dizer, é que o Backupninja requer que outros programas auxiliares sejam instalados para aproveitar ao máximo todos os seus recursos. Embora o pacote RPM do Backupninja esteja disponível para distribuições baseadas no Red Hat, as dependências do Backupninja são otimizadas para o Debian e seus derivados. Portanto, não é recomendado tentar Backupninja para sistemas baseados Red Hat.

neste tutorial, abordaremos a instalação do Backupninja para distribuições baseadas no Debian.

Instalar o Backupninja

Execute o seguinte comando como root:

# aptitude install backupninja

Durante a instalação, vários arquivos e diretórios serão criados:

  • /usr/sbin/backupninja é o principal bash shell script.
  • /etc/cron.d/backupninja, por padrão, instrui cron a executar o script principal uma vez por hora.
  • /etc/logrotate.d/backupninja gira os logs criados pelo programa.
  • /etc/backup.d/ é o diretório onde residem os arquivos de configuração para ações de backup.
  • /etc/backupninja.conf é o arquivo de configuração principal que inclui opções gerais. É bem comentado e explica cada opção em detalhes.
  • /usr/share/backupninja é o diretório onde os scripts usados pelo Backupninja estão localizados (também conhecidos como manipuladores). Estes são os scripts que são responsáveis por fazer o trabalho real. Neste diretório, Você também encontrará arquivos .helper, que são usados para configurar e configurar menus ninjahelper.
  • /usr/share/doc/backupninja/examples contém modelos para arquivos de configuração de ação (o tipo de arquivos criados por ninjahelper).

executando ninjahelper pela primeira vez

quando tentamos iniciar ninjahelper, podemos ver que uma dependência interna pode ser necessária. Se solicitado, digite yes e pressione a tecla ENTER para instalar dialog (uma ferramenta que exibe caixas de diálogo fáceis de usar de scripts de shell).

quando você pressiona Enter depois de digitar Sim, O Backupninja instalará a caixa de diálogo e apresentará a seguinte tela assim que terminar.

exemplo 1: Faça backup de informações de Hardware e sistema

após o lançamento ninjahelper, criaremos uma nova ação de backup:

se os programas auxiliares necessários não estiverem instalados, seremos apresentados com as seguintes telas. Desconsidere esta etapa se esses pacotes já tiverem sido instalados em seu sistema.

a próxima etapa consiste em selecionar os itens que você deseja fazer parte desse backup. Os quatro primeiros são selecionados por padrão, mas você pode desmarcá-los pressionando a barra de espaço.

depois de terminar, pressione OK para continuar. Você poderá escolher se deseja usar o arquivo de configuração padrão para esta ação de backup (/etc/backup.d/10.sys) ou se deseja criar um novo. Neste último caso, um novo arquivo com o mesmo conteúdo que o padrão será criado no mesmo diretório, mas nomeado 11.sys, e assim por diante para futuras ações de backup do sistema. Observe que você pode editar o arquivo de configuração assim que ele for criado com seu editor de texto preferido.

Exemplo 2: Incremental rsync Pull Backup de um diretório remoto

como você provavelmente sabe, rsync é amplamente utilizado para sincronizar arquivos e pastas em uma rede. No exemplo a seguir, discutiremos uma abordagem para fazer backups incrementais de pull de um diretório remoto com hardlinking para salvar dados históricos e armazená-los em nosso servidor de arquivos local. Essa abordagem nos ajudará a economizar espaço e aumentar a segurança no lado do servidor.Etapa 1: Escreva um script personalizado no diretório /etc/backup.d com o seguinte conteúdo e chmod para 600. Observe que este diretório pode conter, além de arquivos de configuração simples, scripts que você deseja executar quando o Backupninja é executado, com a vantagem de usar variáveis presentes no arquivo de configuração principal.

# REMOTE USERuser=root# REMOTE HOSThost=dev1# REMOTE DIRECTORYremotedir=/home/gacanepa/# LOCAL DIRECTORYlocaldir=/home/gacanepa/backup.0# LOCAL DIRECTORY WHERE PREVIOUS BACKUP WAS STOREDlocaldirold=/home/gacanepa/backup.1mv $localdir $localdirold# RSYNCrsync -av --delete --recursive --link-dest=$localdirold $host:$remotedir $localdir

Na configuração acima, o --link-dest opção rsync é usar a hardlink arquivos inalterados (em todos os atributos) de $localdir-old para o diretório de destino ($localdir).Etapa 2: antes que o Backupninja seja executado pela primeira vez, o diretório pai (/home/gacanepa neste caso) está vazio. A primeira vez que executamos:

# backupninja -n

o diretório backup.0 é criado e, posteriormente, no processo, seu nome é alterado para backup.1.

a segunda vez que executamos Backupninja, backup.0 é recriado e backup.1 é mantido.

Etapa 3: Verifique se o conteúdo de backup.1 são links rígidos para os arquivos em backup.0 comparando os respectivos números de inode e tamanhos de diretório.

conclusão

Backupninja não é apenas uma ferramenta de backup clássica, mas também um utilitário fácil de configurar. Você pode escrever seus próprios manipuladores para executar o Backupninja de acordo com os arquivos de configuração individuais localizados em /etc/backup.d, e você pode até escrever ajudantes para ninjahelper para incluí-los em sua interface principal.Por exemplo, se você criar um manipulador chamado xmodulo em /usr/share/backupninja, ele será executado por padrão todos os arquivos com a extensão .xmoduloem /etc/backup.d. Se você decidir adicionar seu manipulador xmodulo a ninjahelper, poderá escrever o ajudante correspondente como xmodulo.helper. Além disso, se você quiser Backupninja para executar um script arbitrário, basta adicioná-lo a /etc/backup.d e você está pronto para ir. Consulte este tutorial do Backupninja para obter detalhes sobre como criar um plano de backup personalizado.

Deixe uma resposta

O seu endereço de email não será publicado.