Criando backups incrementais e criptografados com duplicidade

visão global

Embora o Vultr tenha um sistema de backup para imagens inteiras do sistema, isso funciona no nível do bloco e exige que o backup seja restaurado em uma VM antes que os dados possam ser restaurados. Além disso, os backups são armazenados apenas por um curto período de tempo e não fornecem uma verdadeira solução de backup incremental.

Enter Duplicity - a duplicidade se baseia no lendário rsync e fornece a capacidade de armazenar backups incrementais, além de criptografar os dados em repouso via GPG. É compatível com Posix e transfere apenas deltas entre execuções de backup, reduzindo assim o requisito geral de largura de banda.

Configurando o ambiente

Terminologia

  • Host de origem - Servidor que fará backup dos dados. Para este tutorial, ele possui o endereço IP: 10.1.10.1
  • Host de backup - servidor de destino para backups. Para este tutorial, ele possui o endereço IP: 10.1.10.2
  • / backupdir - diretório de origem no host de origem usado para backups neste tutorial. Você pode alterar isso para corresponder ao seu ambiente.
  • / destdir - Diretório de destino no host de backup usado para backups neste tutorial. Você pode alterar isso para corresponder ao seu ambiente.
  • Backup completo - cópia inteira do conjunto de dados de origem.
  • Backup incremental - Cópia de todas as alterações feitas desde o último backup.

Instalando o Duplicity

Ubuntu 14.04:
sudo apt-get update
sudo apt-get install duplicity python-paramiko
CentOS (requer EPEL):
sudo yum install duplicity python-paramiko
Ubuntu 12.04 / Debian 7:
sudo apt-get update 
sudo apt-get install ncftp python-paramiko python-pycryptopp lftp python-boto python-dev librsync-dev
wget https://launchpad.net/duplicity/0.7-series/0.7.02/+download/duplicity-0.7.02.tar.gz
tar xzvf duplicity*
cd duplicity*
sudo python setup.py install

Temos que instalar a partir do código-fonte, pois o pacote Duplicity no Debian 7 e Ubuntu 12.04 está quebrado devido a uma alteração na biblioteca SSH de back-end.

Verifique se o Duplicity está instalado executando:

duplicity -v

Ele deve retornar a seguinte saída (a versão pode ser diferente):

duplicity 0.6.18

Configurando a autenticação sem chave para SSH

A próxima etapa é configurar a autenticação baseada em certificado para SSH entre o host de backup e o host de origem. Isso permitirá que o servidor de origem faça o SSH no host de backup sem digitar uma senha. O Vultr tem um ótimo artigo que explica como fazer isso: Como faço para gerar chaves SSH .

Backups

Executando o primeiro backup (completo)

Vamos executar um backup completo! Isso enviará uma cópia completa dos dados do servidor de origem para o destino.

duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/

Você pode adicionar pastas adicionais incluindo várias --include="[dir]"instruções.

Os --no-encryptionespecifica que os dados não estão a ser criptografado no destino. Os dados serão criptografados durante o transporte à medida que passam pelo túnel SSH.

A --exclude="**" /opção é um truque para fazer backup de tudo o que está apenas na lista de inclusão (e nada mais).

Executando backup incremental

A execução de um backup incremental é muito simples - basta alterar o fullsinalizador para o incrementalsinalizador.

duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/

Automação

Escreva scripts automatizados

Ter que executar esses comandos toda vez que você precisar de um backup é uma chatice - e se tivéssemos scripts para lidar com isso para nós?

Script de backup completo

Execute o comando

nano /usr/local/bin/backup-full

Adicione o seguinte conteúdo.

#!/bin/bash
duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/
Script de backup incremental
nano /usr/local/bin/backup-incremental

Adicione o seguinte conteúdo.

#!/bin/bash
duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/
Tornar scripts executáveis

Para tornar os scripts executáveis, execute o seguinte comando.

chmod +x /usr/local/bin/backup-*

Agora você pode executar um backup executando backup-fulle backup-incrementalde dentro do shell. Muito legal!

Configurar cron

Vamos fazer os backups automáticos! Ao configurar o cron para executar os scripts acima em horários especificados, podemos garantir que os backups sejam executados em intervalos regulares.

Execute o seguinte comando.

crontab -e

Adicione o seguinte na parte inferior do arquivo.

10 01 * * 1,2,3,4,5,6 backup-incremental
10 01 * * 7 backup-full

Isso executará um backup completo todos os domingos às 1:10 e também fará backups incrementais todos os dias às 1:10.

Restauração

Godzilla destruiu Seattle e precisamos recuperar os dados do VPS de backup em Nova York!

duplicity --no-encryption --file-to-restore / ssh://user@backupserver:22/destdir/

Se precisarmos restaurar dados de três dias atrás:

duplicity --no-encryption -t 3D --file-to-restore / ssh://user@backupserver:22/destdir/

A -t 3Dopção significa restaurar um backup de três dias atrás. Opções semelhantes como -t 1M(há um mês) ou -t 5H(há 5 horas) também funcionam.



Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.