Como usar o programa Restic Backup no Linux

Conteúdo

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

O valor dos backups

Todo hardware tem uma vida limitada. Mecânico Discos rígidos (Discos rígidos) e drives de estado sólido (SSD) eles não duram permanentemente. Também acontecem acidentes. Laptops podem ser perdidos, roubar ou cair escada abaixo.

Costumava-se dizer que o valor de um sistema de backup eficaz só se torna claro quando os dados são perdidos. 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 perder dados, as implicações são sérias. Pode até mesmo comprometer 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 ao mesmo tempo de tudo o mais, a perda acidental ou mal-intencionada de dados de identificação pessoal é considerada uma violação de algumas leis de proteção de dados, como a Regulamento geral de proteção de dados (GDPR).

Existem algumas considerações a serem observadas ao selecionar o software de backup. Onde você deseja que seus backups sejam armazenados? Em uma unidade removível, em outra máquina através do seu Rede local (LAN) ou em armazenamento em nuvem? Aparentemente, 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 eles forem armazenados fora do local ou na nuvem. Se eles estiverem criptografados, eles não podem ser lidos ou 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 subsequentemente armazenam as diferenças entre a imagem de base e a máquina de origem para cada backup subsequente. Isso acelera consideravelmente o procedimento de backup. Ele também usa menos espaço para seus backups.

Restic faz tudo isso. É sem custos, Código aberto, licenciado por 2-Cláusula de licença BSDe em desenvolvimento ativo. O código-fonte está ativado GitHub.

Onde fazer backup

Neste post, vamos armazenar nossos backups em outro computador em nossa rede. Isso é genial, porque fornece transferências de arquivos rápidas e é fácil fazer backup e restaurar a partir de. Em um cenário do mundo real, além disso, um backup é necessário para outro local externo. Se seus sistemas ativos e seus backups estiverem no mesmo local e ocorrer um desastre nesse local (incêndio, um roubo ou uma inundação), sua galinha vai cozinhar, a menos que você tenha um backup externo.

Como poderíamos esperar, restic pode fazer backup em uma unidade externa que pode ser removida das instalações e, melhor ainda, pode fazer backup diretamente para o armazenamento em nuvem.

Fora da caixa, sem descanso você pode fazer backup para:

  • Um diretório local ou uma unidade removível local.
  • Um computador em rede via Protocolo de transferência de arquivos SSH (SFTP). Esse, decididamente, precisa de Cobertura segura (SSH).
  • Servidor HTTP REST.
  • AWS S3.
  • OpenStack Swift.
  • BackBlaze B2.
  • Armazenamento de Blob do Microsoft Azure.
  • Armazenamento na nuvem do Google.

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

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

Uma maneira de automatizar seus backups é criar scripts curtos ou funções de 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 Linux Shell

Instalação de repouso

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

Para instalar o Restic no Ubuntu, escriba:

sudo apt install restic

O comando a usar no Fedora é:

sudo dnf install restic

Em Manjaro usamos pacman:

sudo pacman -Sy restic

Configurando o Restic

Certifique-se de ter o SSH configurado na máquina do servidor de backup e que você pode fazer uma conexão remota da máquina para fazer o backup. Essa é a máquina cliente. Em nossa rede de teste, el cliente se llamaubuntu-20-10y el servidor se llamacaja de respaldo”.

Na terminologia de restic, 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 hospedar o repositório. Historicamente, los servicios que prestaba un servidor se ubicaban en el directorio “/ srv”. Portanto, vamos colocar nosso repositório lá.

No servidor de backup, emitir este comando. Você pode nomear o diretório do repositório como quiser. Estamos usando el nombreresticen aras de la simplicidad.

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 a ele acesso ao diretório.

sudo chown dave:dave / srv / restic

Vamos verificar a configuração no diretório:

ls -hl / srv

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

Estamos usando o -r (repositório) para especificar o caminho para o repositório que vamos criar. O restico initcomando inicializa o repositório.

restic -r sftp:[email protected]:/srv / restic init

Será solicitada a senha da conta do usuário no servidor de backup. Se você configurou chaves SSH entre o servidor e o cliente, você não precisará fazer esta etapa.

Além disso, será solicitada a senha do repositório e mais tarde será solicitada a confirmação. Esta senha deve ser usada para interagir com o repositório no futuro. Não o perca! Você não poderá fazer backup ou restaurar seus dados se perder sua senha.

Leva apenas um momento para criar e inicializar o repositório.

Crie um backup

Criar um backup é muito fácil. Nós usamos o backup comando com restic, diga o que queremos fazer backup e para qual repositório enviar o backup.

Documentos de backup restic / kernel / -r sftp:[email protected]:/srv / restic

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

Porque este foi o primeiro backup neste repositório, todos os arquivos dos quais foi feito backup eram novos. Dissemos que o repouso era rápido: backups foram feitos de mais de 70.000 arquivos em 23 segundos. Esse é todo o código-fonte do kernel do Linux.

Em outra máquina de teste, Eu fiz um backup de mais de 350.000 arquivos totalizando mais de 170 Gibraltar 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:[email protected]:/srv / restic

A árvore do diretório de origem foi verificada quanto a mudanças, o novo arquivo foi detectado e feito backup. Esse segundo pequeno backup 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 é snapshots.

restic -r sftp:[email protected]:/snapshots srv / restic

Cada instantâneo foi atribuído a um identificador hexadecimal como uma identificação única. A data e hora em que cada instantâneo foi criado é exibida. Também mostra o nome do computador do qual o backup foi feito e o caminho para os dados dos quais foi feito o backup.

Então eu criei um segundo novo arquivo e criei outro backup. Novamente, a linha de comando é a mesma de antes.

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

A estas alturas, você provavelmente está cansado de inserir a senha do repositório. Podemos resolver isso antes de usar o snapshots comando para ver nossa coleção de três instantâneos. Abra um editor e digite a senha do repositório nele, ou você pode tentar a tecla Windows em seu teclado em combinação com a letra “Digitar” para comenzar una nueva línea. Salve o arquivo como “.rest_pass” en su directorio personal.

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

chmod 600 .rest_pass

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

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

instantâneos restic -r sftp:[email protected]:/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 errar a ortografia.

Trabalhe com instantâneos

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

restic diff -r sftp:[email protected]:/srv / restic -p .rest_pass 8f98cd29 8700e4bf

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

O restico check O comando executa um teste de verificação com todos os instantâneos no repositório.

verificação de restic -r sftp:[email protected]:/srv / restic -p .rest_pass

Para excluir um instantâneo, Devo dizer ao Restic que forget isso e para prune isso. Você deve usar o ID exclusivo do instantâneo para identificar qual instantâneo excluir.

restic esquecer --prune -r sftp:[email protected]:/srv / restic -p .rest_pass e506e089

Restaurando dados

Quando é hora de restaurar seus dados de backup, é tão simples quanto criar o backup. Você deve especificar qual instantâneo restaurar. Você pode usar o ID exclusivo de um instantâneo ou pode usar o latest tag para usar o instantâneo mais recente no repositório.

Você também deve fornecer um diretório para que os dados restaurados sejam copiados usando o target opção.

restic restore mais recente --target ~ / stored-data -r sftp:[email protected]:/srv / restic -p .rest_pass

Restaurar é tão rápido quanto voltar. 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 cópias de segurança, dormir fácil

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

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.