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 llama “ubuntu-20-10” y el servidor se llama “caja 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 nombre “restic” en 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 init
comando 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.