Backup com o Duplicity

De Wiki Projeto Root
Revisão de 14h45min de 21 de março de 2018 por Diegocosta (discussão | contribs) (→‎Duplicity)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Sobre

Olá! Visitante, reunimos aqui, informações sobre a ferramenta duplicity, esta simples e poderosa ferramenta para Backup de modo seguro, que além de compactar ela também utiliza algorítimos de criptografia para cifrar os backups que são gerados por ela, assim criando volumes de dados utilizando GNUPG aumentando a segurança das informações.


Site Oficial: http://duplicity.nongnu.org/


Vídeo

https://youtu.be/-emhC92FPyE

Duplicity

O Duplicity faz o backup de diretórios produzindo volumes de formato tar-cifrados e enviando-os para um servidor de arquivos remoto ou local. Como a duplicidade usa o librsync, os arquivos incrementais são eficientes em termos de espaço e apenas grava as partes dos arquivos que mudaram desde o último backup. Como o duplicity usa o GnuPG para criptografar e / ou assinar esses arquivos, eles estarão a salvo de espionagem e / ou modificação pelo servidor.

O arquivo do duplicity também inclui o utilitário rdiffdir. Rdiffdir é uma extensão do rdiff da librsync para diretórios --- pode ser usado para produzir assinaturas e deltas de diretórios, bem como arquivos regulares. Essas assinaturas e deltas estão no formato GNU tar.


Instalação do Duplicity

  apt-get update
  apt-get install duplicity ncftp python-paramiko python-pycryptopp lftp python-boto python-dev librsync-dev


Comandos e Parâmetros

  duplicity
  duplicity --help | more 


Backup Local

 duplicity /var/ file:///tmp/


  • Backup removendo arquivos antigos (exemplo: 29 dias)
 duplicity remove-older-than 29D -v9 --force  file:///tmp/

Backup Remoto

No Servidor Duplicity (Origem do Backup) Gerar a Chave RSA

  ssh-keygen -t rsa

Copiar para o Servidor que irá armazenar o Backup

  ssh-copy-id usuario@IP_DO_SERVER

Descobrindo o espaço disponível

 ssh USUARIO@IP_SERVER_DESTINO df -h | grep sda1

Realizando o Backup Remoto

 duplicity /CAMINHO_DO_BACKUP scp://USUARIO@IP_SERVER_DESTINO//CAMINHO/BACKUP


Criando Scripts

Realizar o Backup

  nano /bin/backup
  
  
  # Define variável de data
  Date=`date +%d-%m-%Y`
     
  # Define uma variável para senha que sera utilizada 
  export PASSPHRASE=SENHA_SEGURA
  
  #Verifica o espaço em disco (e grava em log)
  ssh USUARIO@IP_SERVER_DESTINO df -h | grep sda1 > /var/log/backup_duplicity_$date.log
  
  #realiza o backup
  duplicity /CAMINHO_DO_BACKUP scp://USUARIO@IP_SERVER_DESTINO//CAMINHO/BACKUP >> /var/log/backup_duplicity_$date.log
  
  #remover a senha das variaveis
  unset PASSPHRASE


  • Para excluir do backup caminhos
  duplicity --exclude /proc --exclude /sys /CAMINHO_DO_BACKUP scp://USUARIO@IP_SERVER_DESTINO//CAMINHO/BACKUP


Verificar o Backup

  nano /bin/verifica
  
  export PASSPHRASE=SENHA_SEGURA
  duplicity verify scp://USUARIO@IP_SERVER_DESTINO//CAMINHO/BACKUP/ /CAMINHO_ORIGEM/BACKUP
  unset PASSPHRASE


Restaurar

  nano /bin/restore
  
  export PASSPHRASE=SENHA_SEGURA
  duplicity scp://USUARIO@IP_SERVER_DESTINO//CAMINHO/BACKUP /DESTINO/RESTORE/
  unset PASSPHRASE

Ajustar tamanho de volumes

dúvida sobre os volumes criados no Duplicity, você pode atribuir o parâmetro (--volsize ) para definir o tamanho dos volumes que serão criados, isto pode ser visto com o comando man duplicity.

  ex: --volsize 300MB irá criar volumes de 300 MB.
  • Notação retirada do MAN
  --volsize number
  Change the volume size to number MB. Default is 200MB.