Skip to main content

Backup com restic + rclone

Vamos configurar uma solução de backup utilizando Restic e Rclone.

Restic é uma ferramenta de backup eficiente e segura, com recursos como encriptação de dados e armazenamento incremental, o que significa que apenas os dados que mudaram são enviados em cada backup.

Instalando as Ferramentas

Certifique-se de que as seguintes ferramentas estão instaladas:

  • restic: ferramenta de backup rápida e segura.
  • rclone: ferramenta de linha de comando para gerenciamento de arquivos na nuvem.
  • libsecret-tools: ferramenta para armazenar e recuperar senhas.

Para instalar no Ubuntu, execute:

sudo apt install restic rclone libsecret-tools

Criando a API Key

Acesse a lista de api keys e crie uma API key se ainda não tiver uma. Anote o ID e o Secret para os próximos passos.

Configurando o rclone

Siga as instruções disponíveis para configurar um remote no Rclone.

Para este tutorial, assumiremos que o remote foi configurado como mgc. Verifique se está funcionando com:

rclone lsd mgc:

Isso listará os buckets existentes. Se não houver nenhum bucket, o comando não exibirá nada, mas a ausência de mensagens de erro indica que está funcionando.

Para criar um bucket, execute:

rclone mkdir mgc:meu-bucket-de-backup

Substitua meu-bucket-de-backup por um nome apropriado. O comando não exibe saída, mas você pode verificar a criação com rclone lsd.

Configurando o Secret Manager

Armazene a senha no Gnome Keyring com:

secret-tool store --label='Password for: restic - Backups done right!' type password application net.restic.restic

Configure o Restic para usar o Gnome Keyring exportando uma variável:

export RESTIC_PASSWORD_COMMAND="secret-tool lookup type password application net.restic.restic"

Configurando o Restic

Configure o Restic para usar o backend do Rclone definindo variáveis de ambiente:

export RESTIC_REPOSITORY="rclone:mgc:meu-bucket-de-backup"
export RESTIC_PASSWORD_COMMAND="secret-tool lookup type password application net.restic.restic"

Criando um novo repositório

Para inicializar o repositório, execute:

restic init

A mensagem exibida confirmará que o repositório foi criado.

Fazendo o primeiro backup

Realize o backup da sua pasta de documentos:

restic backup ~/Documents

Fazendo um segundo backup

Para realizar um segundo backup, execute o mesmo comando:

restic backup ~/Documents

O Restic reconhecerá os arquivos não modificados e não os enviará novamente.

Restaurando

Para restaurar um backup, liste os snapshots disponíveis com:

restic snapshots

Para restaurar um snapshot específico:

restic restore --target /tmp/documentos-restaurados 57a760c7

Para montar o repositório e acessar arquivos específicos:

mkdir /tmp/restic-mount

restic mount /tmp/restic-mount

Quando terminar, interrompa o comando com Ctrl + C.

Configurando um backup periódico

Configure um cron job com crontab:

crontab -e

Adicione:

RESTIC_REPOSITORY="rclone:mgc:meu-bucket-de-backup"
RESTIC_PASSWORD_COMMAND="secret-tool lookup type password application net.restic.restic"

0 13 * * * run-one restic backup ~/Documents