Duplicidade - Crie backups incrementais criptografados no Linux

Duplicidade - Crie backups incrementais criptografados no Linux

Experiência mostra que você nunca pode ser muito paranóico sobre os backups do sistema. Quando se trata de proteger e preservar dados preciosos, é melhor ir além e verifique se você pode depender de seus backups, se necessário.

Ainda hoje, quando alguns provedores de nuvem e hospedagem oferecem backups automatizados para os VPs a um custo relativamente baixo, você fará bem em criar sua própria estratégia de backup usando suas próprias ferramentas para economizar algum dinheiro e depois usá -lo para comprar armazenamento extra ou Obtenha um VPS maior.

[Você também pode gostar: 25 utilitários de backup excelentes para sistemas Linux]

Soa interessante? Neste artigo, mostraremos como usar uma ferramenta chamada Duplicidade para fazer backup e criptografar arquivos e diretórios. Além disso, o uso de backups incrementais para esta tarefa nos ajudará a economizar espaço.

Dito isto, vamos começar.

Instalando a ferramenta de backup de duplicidade no Linux

Para instalar duplicidade em distritos baseados em RHEL, você terá que ativar o EPEL repositório primeiro (você pode omitir esta etapa se estiver usando Fedora em si):

# yum update # yum Instale o epel-libes ou # yum install https: // dl.FedoraProject.org/pub/epel/epel-latest-8.Noarch.RPM 

Então corra,

# yum instalar duplicidade 

Para Debian e Derivativos:

$ sudo apt update $ sudo apto de instalação duplicidade 

Em teoria, muitos métodos para se conectar a um servidor de arquivos são suportados, embora apenas SSH/SCP/SFTP, acesso de arquivo local, RSYNC, FTP, HSI, WebDav e Amazon S3 foram testados na prática até agora.

Depois que a instalação concluir, usaremos exclusivamente sftp em vários cenários, para fazer backup e restaurar os dados.

Nosso ambiente de teste consiste em um RHEL 8 caixa (a ser backup) e um Debian 11 máquina (servidor de backup).

Criação de teclas SSH para Login sem senha para servidor remoto

Vamos começar criando as teclas ssh em nossa caixa de rhel e transferindo -as para o Debian servidor de backup.

Se você estiver executando ssh em uma porta diferente, o comando abaixo assume que o sshd Daemon está ouvindo na porta Xxxxx no servidor Debian. Substituir Aaa.BBB.CCC.DDD com o IP real do servidor remoto.

# ssh-keygen -t rsa # ssh-copy-id [email protegido] # ssh-copy-id -p xxxxx [email protegido] 

Em seguida, você deve se conectar ao servidor de backup sem usar uma senha:

# ssh [email protegido] 
Login remoto sem senha ssh

Agora precisamos criar o Gpg Chaves que serão usadas para a criptografia e descriptografia de nossos dados:

# GPG2-Full-Gen-Key 

Você será solicitado a entrar:

  • Tipo de chave
  • Tamanho da chave
  • Quanto tempo a chave deve ser válida
  • Uma senha
Crie a chave GPG RSA no Linux

Para criar a entropia necessária para a criação das teclas, você pode fazer logon no servidor por meio de outra janela do terminal e executar algumas tarefas ou executar alguns comandos para gerar entropia (caso contrário, você terá que esperar muito tempo para esta parte de o processo de terminar).

Depois que as chaves forem geradas, você pode listá -las da seguinte forma:

# GPG-List-Keys 
Liste as teclas GPG

A string destacada em amarelo acima é conhecida como ID da chave pública e é um argumento solicitado para criptografar seus arquivos.

Criando um backup do Linux com duplicidade

Para começar simples, vamos apenas fazer backup do /var/log diretório, com exceção de /var/log/anaconda e /var/log/sa.

Como este é o nosso primeiro backup, será completo. As execuções subsequentes criarão backups incrementais (a menos que adicionemos a opção completa, sem traços ao lado da duplicidade no comando abaixo):

# Passphrase = "Tecmint" duplicidade --encrypt-key 115b4bb13bc768b8b2704e5663c429c3db8bad3b --exclude/var/log/anaconda --exclude/var/log/sa/var/log scp:/[email protegido] Passphrase = "yourpassphrasehehere" duplicity --encrypt-key yourpublickeyidhere --exclude/var/log/anaconda --exclude/var/log/sa/var/log scp: // [email protegido]: xxxxx // backups/rhel8 

Certifique -se de não perder a barra dupla no comando acima! Eles são usados ​​para indicar um caminho absoluto para um diretório nomeado /backups/rhel8 na caixa de backup e é onde os arquivos de backup serão armazenados.

Substituir Seu passhhrasehere, YourPublicKeyidhere, e Servidor remoto Com a senha que você inseriu anteriormente, o ID da chave pública GPG e com o nome do IP ou host do servidor de backup, respectivamente.

Sua saída deve ser semelhante à seguinte imagem:

Crie backup usando duplicidade

A imagem acima indica que um total de 86.3 MB foi apoiado em um 3.22 MB no destino. Vamos mudar para o servidor de backup para verificar nosso backup recém -criado:

Confirme os arquivos de backup do Linux

Uma segunda corrida do mesmo comando produz um tamanho e o tempo de backup muito menores:

Comprimido de backup

Restaurando backups do Linux usando duplicidade

Para restaurar um arquivo com sucesso, um diretório com seu conteúdo ou todo o backup, o destino não deve existir (a duplicidade não substituirá um arquivo ou diretório existente). Para esclarecer, vamos excluir o Cron Faça login na caixa do CentOS:

# rm -f/var/log/cron 

A sintaxe para restaurar um único arquivo do servidor remoto é:

# Passphrase = "yourpassphrasehere" duplicidade-File-to-Restore Filename sftp: // [email protegido] // backups/rhel8/where/to/restaure/nome do arquivo 

onde,

  • nome do arquivo é o arquivo a ser extraído, com um caminho relativo para o diretório que foi backup
  • /onde/para/restaurar é o diretório no sistema local onde queremos restaurar o arquivo para.

No nosso caso, para restaurar o registro principal do Cron do backup remoto, precisamos executar:

# Passphrase = "yourpassphrasehehere" duplicidade-File-to-Restore Cron sftp: // [email protegido]: xxxxx // backups/rhel8/var/log/cron 

O tronco Cron deve ser restaurado no destino desejado.

Da mesma forma, sinta -se à vontade para excluir um diretório de /var/log e restaurá -lo usando o backup:

# rm -rf/var/log/Mail # passPhrase = "yourpassphrasehere" duplicidade-File-to-Restore Mail sftp: // [email protegido]: xxxxx // backups/rhel8/var/log/Mail 

Neste exemplo, o correspondência O diretório deve ser restaurado ao seu local original com todo o seu conteúdo.

Outras características da duplicidade

A qualquer momento, você pode exibir a lista de arquivos arquivados com o seguinte comando:

# Duplicity List-Current-Files sftp: // [email protegido]: xxxxx // backups/rhel8 

Exclua backups com mais de 6 meses:

# duplicidade Remova a velha mais do que 6m sftp: // [email protegido]: xxxxx // backups/rhel88 

Restaurar meu arquivo diretório interno Gacanepa Como era 2 dias e 12 horas atrás:

# duplicity -t 2d12h-File-to-Restore gacanepa/myfile sftp: // [email protegido]: xxxxx // remotedir/backups/home/gacanepa/myfile 

No último comando, podemos ver um exemplo do uso do intervalo de tempo (conforme especificado por -t): Uma série de pares onde cada um consiste em um número seguido por um dos personagens s, m, h, D, C, M, ou Y (indicando segundos, minutos, horas, dias, semanas, meses ou anos, respectivamente).

Resumo

Neste artigo, explicamos como usar a duplicidade, um utilitário de backup que fornece criptografia para arquivos e diretórios prontos para a caixa. Eu recomendo que você dê uma olhada no site do projeto de duplicidade para mais documentação e exemplos.

Fornecemos uma página do homem de duplicidade no formato PDF para sua conveniência de leitura, também é um guia de referência completo.

Sinta -se à vontade para nos informar se tiver alguma dúvida ou comentário.