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:
- Ubuntu
- Windows
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
As ferramentas a serem utilizadas são Restic e Rclone.
Para gerenciar credenciais no Windows, use o Microsoft-Credentialmanager
, o sistema
integrado para gerenciar credenciais de usuário.
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
- Ubuntu
- Windows
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"
Abra o Gerenciador de Credenciais do Windows:
Pressione Windows + R
, digite control /name Microsoft.CredentialManager
, e pressione
Enter.
Adicione uma nova credencial genérica:
-
Nome do Internet ou da rede
restic-password
-
Nome do usuário: deixe em branco
-
Senha: insira a senha desejada
Clique em "OK" para salvar.
Configure o Restic para usar o Gerenciador de Credenciais do Windows com:
$env:RESTIC_PASSWORD_COMMAND="powershell.exe -Command { (Get-Credential -Credential restic-password).Password | ConvertTo-SecureString -AsPlainText -Force }"
Edite o perfil do PowerShell com:
notepad $PROFILE
Adicione a linha:
$env:RESTIC_PASSWORD_COMMAND="powershell.exe -Command { (Get-Credential -Credential restic-password).Password | ConvertTo-SecureString -AsPlainText -Force }"
Salve e feche o arquivo.
Configurando o Restic
Configure o Restic para usar o backend do Rclone definindo variáveis de ambiente:
- Ubuntu
- Windows
export RESTIC_REPOSITORY="rclone:mgc:meu-bucket-de-backup"
export RESTIC_PASSWORD_COMMAND="secret-tool lookup type password application net.restic.restic"
$env:RESTIC_REPOSITORY="rclone:mgc:meu-bucket-de-backup"
$env:RESTIC_PASSWORD_COMMAND="powershell.exe -Command { (Get-Credential -Credential restic-password).Password | ConvertTo-SecureString -AsPlainText -Force }"
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:
- Ubuntu
- Windows
restic backup ~/Documents
restic backup C:\Users\<SEU-USUARIO>\Documents
Fazendo um segundo backup
Para realizar um segundo backup, execute o mesmo comando:
- Ubuntu
- Windows
restic backup ~/Documents
restic backup C:\Users\<SEU-USUARIO>\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
- Ubuntu
- Windows
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
Configure uma tarefa agendada com o Task Scheduler:
-
Abra o Task Scheduler (taskschd.msc).
-
Crie uma nova tarefa básica.
-
Defina o nome e a periodicidade.
-
Configure a ação para executar o PowerShell com o comando:
-Command "$env:RESTIC_REPOSITORY='rclone:mgc:meu-bucket-de-backup'; $env:RESTIC_PASSWORD_COMMAND='PowerShell.exe -Command { (Get-Credential -Credential restic-password).Password | ConvertTo-SecureString -AsPlainText -Force }'; restic backup C:\Users\<SEU-USUARIO>\Documents"
- Finalize a configuração e teste a tarefa manualmente.
Este guia cobre a instalação, configuração e uso de Restic e Rclone para backups, incluindo a configuração de backups periódicos. Siga os passos para garantir a segurança e a disponibilidade dos seus dados importantes. Lembre-se de testar os procedimentos de restauração periodicamente para garantir que tudo está funcionando como esperado.