Header Ads

Como usar o programa de backup restic no Linux

Shutterstock / Alexander Supertramp

Proteja seus arquivos preciosos e fotos insubstituíveis com o programa de backup Restic. É rápido, criptografado e você pode usá-lo direto da linha de comando do Linux. Veja como configurá-lo.

O valor dos backups

Todo hardware tem uma vida finita. As unidades mecânicas de disco rígido (HDDs) e unidades de estado sólido (SSDs) não duram para sempre. Acidentes acontecem também. Laptops podem ser perdidos, roubados ou derrubados pelas escadas.

Costumava-se dizer que o valor de um sistema de backup eficaz só se torna claro quando você perde os dados. Quando ocorrem falhas ou perdas, você precisa ter uma maneira rápida e fácil de recuperar seus arquivos e informações. Se uma organização perde dados, as implicações são graves. Pode até prejudicar a continuidade dos negócios. Mesmo em um ambiente doméstico, a perda de dados pode ser uma experiência dolorosa. Os backups são as únicas salvaguardas sensatas.

E acima de tudo, a perda acidental — ou mal-intencionada — de dados de identificação pessoal é considerada uma violação de acordo com algumas legislações de proteção de dados, como os Dados Gerais Regulamento de Proteção (GDPR).

Existem algumas considerações a serem observadas ao escolher um software para backup. Onde você deseja que seus backups sejam mantidos? Em uma unidade removível, em outra máquina em sua rede local (LAN) ou em armazenamento em nuvem? Obviamente, você precisa usar um programa de backup que possa gravar e restaurar do armazenamento de dados que deseja usar.

Os backups devem ser criptografados, especialmente se forem armazenados em locais externos ou na nuvem. Se estiverem criptografados, não poderão ser lidos e restaurados por pessoas não autorizadas.

O programa deve ser rápido. Você não quer esperar o dia todo pela conclusão de um backup ou restauração. Alguns programas armazenam uma imagem de backup de base e, em seguida, armazenam as diferenças entre a imagem de base e a máquina de origem para cada backup subsequente. Isso acelera consideravelmente o processo de backup. Ele também usa menos espaço para seus backups.

O

restic faz tudo isso. É gratuito, de código aberto, licenciado sob a Licença BSD de 2 cláusulas e em desenvolvimento ativo. O código-fonte está no GitHub.

Para onde fazer backup em

Neste artigo, vamos armazenar nossos backups em outro computador em nossa rede. Isso é ótimo, porque fornece transferências rápidas de arquivos e é fácil fazer backup e restaurar. Em um cenário do mundo real, você realmente precisa fazer backup em outro local externo também. Se seus sistemas ativos e backups estiverem no mesmo local e ocorrer um desastre naquele local — um incêndio, um roubo ou uma enchente — seu ganso vai ser cozido, a menos que você tenha um backup externo.

Sem surpresa, o restic pode fazer backup em uma unidade externa que pode ser retirada do local e — melhor ainda — pode fazer backup direto para o armazenamento na nuvem.

Pronto para usar, o Restic pode fazer backup em:

  • Um diretório local ou unidade removível local.
  • Um computador em rede via SSH File Transfer Protocol (SFTP). Isso, é claro, requer Secure Shell (SSH).
  • servidor HTTP REST.
  • AWS S3.
  • OpenStack Swift.
  • BackBlaze B2.
  • Microsoft Azure Blob Storage.
  • Google Cloud Storage.

Se você precisar fazer backup para um destino de dados que não esteja nessa lista, poderá combinar o poder do rclone com o restic e fazer backup para qualquer um dos 40 ou mais destinos que o rclone suporta.

Os backups de rede SFTP requerem que o SSH seja instalado e configurado no servidor de backup. Esta é a máquina em que os backups serão armazenados. Se você configurar as chaves SSH no servidor de backup e na máquina da qual vai fazer backup, não será solicitada a senha SSH toda vez que executar um backup.

Uma maneira de automatizar seus backups é criar scripts curtos ou funções shell e usar o cron para executá-los em horários específicos. O uso de chaves SSH permitirá que você evite o problema de fornecer uma senha para backups autônomos.

RELACIONADO: Como criar e instalar chaves SSH a partir do shell do Linux

Instalando o restic

O aplicativo restic está nos repositórios das principais distribuições do Linux, portanto, instalá-lo é uma linha simples usando o gerenciador de pacotes de cada distribuição.

Para instalar o Restic no Ubuntu, digite:

 sudo apt install restic 

O comando a ser usado no Fedora é:

 sudo dnf install restic 

No Manjaro, usamos o pacman:

 sudo pacman -Sy restic 

Configurando o restic

Certifique-se de ter o SSH configurado na máquina do servidor de backup e de que pode fazer uma conexão remota com ele a partir da máquina da qual fará backup. Essa é a máquina cliente. Em nossa rede de teste, o cliente é denominado “ ubuntu-20-10, ” e o servidor é denominado “ backup-box. ”

Na terminologia do restic, os backups são armazenados como instantâneos em um repositório. Cada backup cria um novo instantâneo. Precisamos criar um local para o repositório no servidor.

Precisamos criar um diretório no servidor de backup para armazenar o repositório. Historicamente, os serviços servidos por um servidor estavam localizados no diretório “ / srv ” diretório. Portanto, colocaremos nosso repositório lá.

No servidor de backup, emita este comando. Você pode nomear o diretório do repositório como quiser. Estamos usando o nome “ restic ” por uma questão de simplicidade.

 sudo mkdir / srv / restic 

Precisamos ter certeza de que este diretório está acessível para a pessoa que irá lidar com os backups. Se fossem várias pessoas, faria sentido criar um grupo de usuários e dar ao grupo acesso ao diretório.

 sudo chown dave: dave / srv / restic 

Vamos verificar as configurações no diretório:

 ls -hl / srv 

Agora podemos passar para a máquina cliente e criar o repositório no servidor a partir daí. Substitua o nome do seu usuário, o nome do servidor de backup e o nome do diretório do repositório para corresponder às suas escolhas. Você pode usar o endereço IP do servidor de backup, se preferir.

Estamos usando a opção -r (repositório) para especificar o caminho para o repositório que iremos criar. O comando restic init inicializa o repositório.

 restic -r sftp: dave@backup-box. local: / srv / restic init 

Você &’ será solicitado a fornecer a senha da conta do usuário no servidor de backup. Se você configurou chaves SSH entre o servidor e o cliente, não precisará realizar esta etapa.

Você também será solicitado a fornecer a senha do repositório e, em seguida, será solicitado a confirmá-la. Essa senha deve ser usada para interagir com o repositório no futuro. Não o perca! Você não conseguirá fazer backup ou restaurar os dados se perder a senha.

Leva apenas um momento para o repositório ser criado e inicializado.

Criando um backup

Criar um backup é muito simples. Usamos o comando backup com o restic, informamos do que queremos fazer o backup e para qual repositório enviar o backup.

 documentos de backup restic / kernel / -r sftp: dave@backup-box. local: / srv / restic 

Você precisa fornecer a senha do usuário e a senha do repositório. Enquanto o backup está em execução, os nomes dos arquivos que estão sendo copiados são exibidos, junto com estatísticas informando quantos arquivos serão copiados no total, quantos foram copiados até agora e que porcentagem do backup foi concluída. Os instantâneos são criptografados usando o padrão de criptografia avançada AES-256.

Como este foi o primeiro backup para este repositório, todos os arquivos dos quais foi feito backup eram novos. Dissemos que o Restic é rápido — mais de 70.000 arquivos foram copiados em 23 segundos. Esse é todo o código-fonte do kernel do Linux.

Em outra máquina de teste, fiz backup de mais de 350.000 arquivos totalizando mais de 170 GiB em uma hora e meia.

Criei um novo arquivo no cliente no diretório de origem e executei outro backup. O comando é o mesmo de antes.

 documentos de backup restic / kernel / -r sftp: dave@backup-box. local: / srv / restic 

A árvore do diretório de origem foi verificada em busca de alterações, o novo arquivo foi detectado e foi feito backup. Esse segundo backup minúsculo levou três segundos para ser concluído, incluindo a verificação de outros arquivos em busca de alterações.

Vamos dar uma olhada nos dois instantâneos que temos no repositório. O comando restic para isso são instantâneos.

 restic -r sftp: dave@backup-box. local: / srv / restic snapshots 

Cada instantâneo recebeu um identificador hexadecimal como um ID exclusivo. A data e a hora em que cada instantâneo foi criado são exibidas. O nome do computador de onde o backup foi feito e o caminho para os dados dos quais foi feito o backup também são mostrados.

Em seguida, criei um segundo novo arquivo e criei outro backup. Novamente, a linha de comando é a mesma de antes.

Assim como com nosso backup de recarga anterior, essa pequena atualização levou três segundos para ser concluída.

Agora, você provavelmente está cansado de inserir a senha do repositório. Podemos resolver isso antes de usar o comando snapshots para examinar nossa coleção de três snapshots. Abra um editor e digite a senha do repositório nele, depois pressione “ Enter ” para iniciar uma nova linha. Salve o arquivo como “ . rest_pass ” em seu diretório inicial.

Para se certificar de que ninguém mais pode ver a senha, altere os bits do modo de acesso do arquivo usando chmod:

 chmod 600 . rest_pass 

Isso significa que ninguém além de você pode acessar o arquivo.

Agora podemos passar isso para a linha de comando restante usando a opção -p (arquivo de senha). Se você também configurou chaves SSH entre o cliente e o servidor, também não precisará inserir a senha da conta do usuário. Você pode automatizar facilmente seus backups com cron depois que a interação humana for removida do processo.

 instantâneos restic -r sftp: dave@backup-box. local: / srv / restic -p . rest_pass 

Não somos mais solicitados a fornecer a senha do repositório, o que é ótimo. Não precisamos nos lembrar disso e não podemos digitá-lo incorretamente.

Trabalhando com instantâneos

O comando restic diff permite que você veja as diferenças entre quaisquer dois instantâneos. Use os IDs exclusivos dos dois instantâneos que deseja comparar. Você pode ver os IDs do instantâneo ao usar o comando restic instantâneo.

 restic diff -r sftp: dave@backup-box. local: / srv / restic -p . rest_pass 8f98cd29 8700e4bf 

As diferenças entre os instantâneos são mostradas como colunas de estatísticas.

O comando restic check executa um teste de verificação em todos os instantâneos do repositório.

 verificação restic -r sftp: dave@backup-box. local: / srv / restic -p . rest_pass 

Para deletar um instantâneo, você deve dizer ao restic para esquecê-lo e podá-lo. Você deve usar o ID exclusivo do instantâneo para identificar qual instantâneo excluir.

 restic esquece --prune -r sftp: dave@backup-box. local: / srv / restic -p . rest_pass e506e089 

Restaurando dados

Quando chega a hora de restaurar os dados dos seus backups, é tão fácil quanto criar o backup. Você precisa especificar qual instantâneo você vai restaurar. Você pode usar o ID exclusivo de um instantâneo ou pode usar o rótulo mais recente para usar o instantâneo mais recente no repositório.

Você também precisa fornecer um diretório para os dados restaurados a serem copiados usando a opção de destino.

 restic restore mais recente --target ~ / stored-data -r sftp: dave@backup-box. local: / srv / restic -p . rest_pass 

Restaurar é tão rápido quanto fazer backup. Verificando o diretório de destino, podemos ver que a árvore de diretórios e os arquivos foram restaurados para nós.

 ls 

Faça backups, durma bem

A perda de dados é um problema sério. Uma solução de backup robusta significa que você tem uma coisa a menos com que se preocupar. Com o restic, você pode automatizar seus backups para repositórios locais e na nuvem e dormir facilmente.

Nenhum comentário