NOME
A minha rotina de backup com o restic
DESCRIÇÃO
O restic é um utilitário de backup que garante a integridade dos dados, tendo como principal recurso a habilidade de mantê-los criptografados em um repositório, que é estruturado de forma similar ao que vemos no Git.
Isto é, temos versionamento como a regra, sendo esta a segunda funcionalidade principal, além da já citada criptografia.
Com o versionamento também temos a deduplicação, então, em um repositório restic, um dado é armazenado uma única vez e é apenas referenciado subsequentemente.
E por fim, os repositório também tem suporte a compressão, então, recapitulando, temos um repositório criptografado, deduplicado, versionado e comprimido.
Atualmente, eu tenho a seguinte rotina de backup, uma crontab que invoca o seguinte script:
#!/bin/sh repositorio="/backup" #caminho do repositório password_file="/armazem/Sync/senha.txt" #arquivo com a senha # Com o 'unlock' removemos eventuais travas que existam de um processo anterior do restic restic --password-file=$password_file -r $repositorio unlock # Com o 'prune', podamos do repositório eventuais vestígios de dados relacionados a snaphosts que já foram excluídos. restic --password-file=$password_file -r $repositorio prune # Aqui definimos a política de retenção do backup, com 7 backups diários, um para cada dia da semana, dois semanais e 1 mensal. restic --password-file=$password_file -r $repositorio forget --keep-daily 7 --keep-weekly 2 --keep-monthly 1 --keep-tag keep --prune # Finalmente, realizamos o backup da minha pasta (giuliano) home restic --exclude-caches --exclude=".cache" --password-file=$password_file -r $repositorio backup /home/giuliano # E aqui finalizamos fazendo o backup da pasta /armazem, que fica em um outro disco e possui vários arquivos relevantes. restic --exclude-caches --exclude="backup" --exclude="tv" --exclude="downloads" --exclude="movies" --exclude="local" --password-file=$password_file -r $repositorio backup /armazem
Para verificar como ficaram os backups eu posso conferir com o seguinte comando
restic --password-file=/armazem/Sync/senha.txt -r /armazem/backup snapshots
Que me retorna a seguinte saída:
repository 6359e57a opened (version 2, compression level auto) ID Time Host Tags Paths --------------------------------------------------------------------------- dac71fa4 2024-01-18 04:01:32 ryzen /home/giuliano c46518e1 2024-01-18 04:03:45 ryzen /armazem 81732621 2024-01-19 04:01:13 ryzen /home/giuliano 76412b53 2024-01-19 04:03:29 ryzen /armazem e8754b00 2024-01-20 04:01:16 ryzen /home/giuliano fd999edd 2024-01-20 04:03:53 ryzen /armazem af0037f0 2024-01-21 04:01:24 ryzen /home/giuliano baa4f85b 2024-01-21 04:05:19 ryzen /armazem 95f5eecb 2024-01-22 04:00:41 ryzen /home/giuliano bfa109cb 2024-01-22 04:03:38 ryzen /armazem f342549a 2024-01-23 04:01:24 ryzen /home/giuliano bd7d291b 2024-01-23 04:04:26 ryzen /armazem c0d67f5a 2024-01-24 04:01:33 ryzen /home/giuliano 961f1829 2024-01-24 04:04:14 ryzen /armazem c41d42dd 2024-01-25 04:01:29 ryzen /home/giuliano ad507348 2024-01-25 04:03:10 ryzen /armazem --------------------------------------------------------------------------- 16 snapshots
Em caso de desastre basta executar o seguinte comando para restaurar um backup:
restic --password-file=/armazem/Sync/senha.txt -r /armazem/backup restore b1297a9c --target=/
Onde b1297a9c é o código único do snapshot e os demais parâmetros são o arquivo da senha e o repositório, o target é o raiz, pois, o restic armazena a estrutura de pastas a partir da raiz, então geralmente fará mais sentido restaurar a partir dela mesmo.
Isso é apenas uma demonstração rápida do que o restic pode fazer, ainda cabe ressaltar que ele tem suporte nativo ao rclone, bastando que ambas as ferramentas estejam instaladas, abrindo a possibilidade de utilizar inúmeros provedores na nuvem como “backend”.
Além disso, o restic conta com uma lista considerável de interfaces gráficas e utilitários para facilitarem o seu uso, que podem ser conferidos aqui: https://github.com/rubiojr/awesome-restic
A combinação dessas características faz do restic uma ferramenta robusta e versátil para backup, atendendo tanto a usuários domésticos quanto a ambientes empresariais mais exigentes. Seu suporte extenso a diferentes backends na nuvem, junto com a possibilidade de integração com outras ferramentas, como o rclone, proporciona uma flexibilidade sem precedentes na escolha de como e onde armazenar seus backups.
Encorajo todos os interessados a explorar os recursos disponíveis e a considerar o restic como uma solução de backup. Seja você um entusiasta de tecnologia procurando por uma ferramenta confiável para proteger dados pessoais, ou uma empresa em busca de uma solução de backup eficiente e segura, o restic oferece uma combinação poderosa de simplicidade, flexibilidade e segurança.
Não deixe de conferir a comunidade e os recursos disponíveis para tirar o máximo proveito do restic. A segurança dos seus dados é fundamental, e escolher a ferramenta certa é o primeiro passo para garantir essa segurança em um mundo digital cada vez mais complexo.