O que é o restic?
O restic é um programa de backup rápido, eficiente e seguro. Ele quebra seus arquivos em blocos definidos pelo conteúdo e guarda cada bloco uma única vez, então um segundo backup de um diretório quase inalterado transfere quase nada. Tudo é criptografado e autenticado na sua máquina, com AES-256 e Poly1305-AES, antes que um único byte saia dela — o repositório pode viver em um lugar em que você não confia por completo. Os snapshots são somente-acréscimo e podem ser listados, comparados, montados como sistema de arquivos e restaurados arquivo a arquivo, cada coisa com um comando e sem nenhum arquivo de configuração para escrever.
prune e check, a redução de memória em repositórios grandes e o suporte a novos backends. A versão da stable do Debian está anos atrás: um repositório escrito por um restic atual pode ser ilegível para um antigo, então a máquina que restaura precisa ser pelo menos tão nova quanto a que fez o backup. Rodar a versão atual em todo lugar é o jeito mais simples de garantir isso.
⚡ Principais recursos do restic
🧩 Deduplicação que funciona de verdade
O fatiamento por conteúdo faz com que um arquivo inalterado, um arquivo movido e um arquivo que existe em dez máquinas sejam guardados uma vez só. Snapshots diários da mesma árvore custam a diferença, não a árvore inteira.
🔐 Criptografado antes de sair
AES-256 para o conteúdo e Poly1305-AES para a autenticação, feito no cliente. O repositório não guarda texto em claro nem dado não autenticado: um armazenamento hostil pode perder o seu backup, mas não lê nem forja.
☁️ Backends para todo lugar
Um diretório local, SFTP, o servidor REST, Amazon S3 e tudo que é compatível com S3, OpenStack Swift, Backblaze B2, Azure Blob Storage, Google Cloud Storage e qualquer outra coisa através do rclone.
📸 Snapshots que dá para navegar
restic snapshots lista, restic diff mostra o que mudou entre dois e restic mount coloca todos eles sob um diretório, para recuperar um arquivo solto com um cp.
🧹 Retenção e limpeza
forget --keep-daily/--keep-weekly/--keep-monthly expressa a política de retenção direto, e --prune recupera depois o espaço dentro do repositório.
🔎 Repositórios verificáveis
restic check valida a estrutura do repositório e --read-data relê e reverifica cada arquivo de pack, então "o backup existe" e "o backup está íntegro" viram duas perguntas que você consegue mesmo responder.
apt upgrade mantém você na versão mais recente.
📦 Instalação a partir do deb.griffo.io
Passo 1: Adicionar o repositório
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 Existe um espelho grátis para sempre. deb-free.griffo.io distribui pacotes grátis para sempre — sem conta, sem assinatura, no máximo 2 meses atrás do upstream, correções de segurança imediatas. Hoje ele traz cliamp, Ghostty, lazydocker, Oh My Posh e Zed; restic não está entre elas, então o repositório acima é a única forma de instalar hoje — peça e ela pode ser adicionada.
Passo 2: Instalar o restic
# Instalar o restic mais recente
sudo apt install restic
# Verificar a instalação
restic version# Instalar o restic mais recente
apt install restic
# Verificar a instalação
restic versionPasso 3: Criar seu primeiro repositório
# Um repositório é um diretório, local ou remoto. Escolha uma senha e guarde:
# sem ela os dados se perdem, e não existe caminho de recuperação, por projeto.
restic init --repo /srv/backup/restic
# Fazer backup de alguma coisa
restic -r /srv/backup/restic backup ~/Documents
# Ver o que você tem
restic -r /srv/backup/restic snapshots
# As páginas de manual e as conclusões de bash, fish e zsh vêm no pacote
man restic🎯 Exemplos básicos de uso
Fazendo backup:
# Guarde a senha em um arquivo em vez de digitá-la em cada comando
echo 'uma frase secreta longa' | sudo tee /etc/restic-password > /dev/null
sudo chmod 600 /etc/restic-password
export RESTIC_REPOSITORY=/srv/backup/restic
export RESTIC_PASSWORD_FILE=/etc/restic-password
# Backup de vários caminhos, pulando o que uma restauração não quereria
restic backup ~/Documents ~/Pictures --exclude '**/node_modules' --exclude '*.iso'
# Ou conduza a partir de um arquivo, um padrão por linha
restic backup ~ --exclude-file ~/.config/restic-excludes --exclude-caches
# Marque um snapshot para encontrá-lo depois
restic backup /etc --tag config --tag "$(hostname)"# Guarde a senha em um arquivo em vez de digitá-la em cada comando
echo 'uma frase secreta longa' | tee /etc/restic-password > /dev/null
chmod 600 /etc/restic-password
export RESTIC_REPOSITORY=/srv/backup/restic
export RESTIC_PASSWORD_FILE=/etc/restic-password
# Backup de vários caminhos, pulando o que uma restauração não quereria
restic backup ~/Documents ~/Pictures --exclude '**/node_modules' --exclude '*.iso'
# Ou conduza a partir de um arquivo, um padrão por linha
restic backup ~ --exclude-file ~/.config/restic-excludes --exclude-caches
# Marque um snapshot para encontrá-lo depois
restic backup /etc --tag config --tag "$(hostname)"Restaurando e navegando:
# O que há no repositório
restic snapshots
restic ls latest /etc
# Restaurar tudo do snapshot mais novo
restic restore latest --target /tmp/restore
# Ou só os caminhos que você realmente perdeu
restic restore latest --target / --include /etc/nginx
# Montar o histórico inteiro e copiar um arquivo na mão (precisa de FUSE)
sudo apt install fuse3
mkdir -p ~/mnt/backup
restic mount ~/mnt/backup
# O que mudou entre dois snapshots
restic diff 1a2b3c4d 5e6f7a8b# O que há no repositório
restic snapshots
restic ls latest /etc
# Restaurar tudo do snapshot mais novo
restic restore latest --target /tmp/restore
# Ou só os caminhos que você realmente perdeu
restic restore latest --target / --include /etc/nginx
# Montar o histórico inteiro e copiar um arquivo na mão (precisa de FUSE)
apt install fuse3
mkdir -p ~/mnt/backup
restic mount ~/mnt/backup
# O que mudou entre dois snapshots
restic diff 1a2b3c4d 5e6f7a8bRepositórios remotos:
# SFTP: qualquer máquina em que você já entra por ssh
restic -r sftp:backup@nas:/srv/restic init
# S3 e tudo que é compatível com S3, incluindo Garage ou MinIO auto-hospedados
export AWS_ACCESS_KEY_ID=... AWS_SECRET_ACCESS_KEY=...
restic -r s3:https://s3.example.com/backups init
# Backblaze B2
export B2_ACCOUNT_ID=... B2_ACCOUNT_KEY=...
restic -r b2:my-bucket:backups init
# Qualquer coisa que o rclone alcance, que é todo o resto
restic -r rclone:mydrive:backups initRetenção, limpeza e verificação:
# Uma política de retenção, aplicada ao repositório inteiro
restic forget --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --prune
# Simule primeiro, porque forget apaga snapshots
restic forget --keep-daily 7 --dry-run
# Verificação de estrutura, barata, rode com frequência
restic check
# Reler e reverificar uma amostra dos dados reais, cara, rode uma vez por mês
restic check --read-data-subset 10%
# Para onde vai o espaço
restic stats --mode raw-data🔧 Integrações com outras ferramentas
O restic foi feito para ser conduzido pelo que você já roda:
- systemd: um serviço mais um timer é o arranjo desatendido de sempre;
RESTIC_REPOSITORYeRESTIC_PASSWORD_FILEvão na unit, não no perfil do shell - rclone: o backend
rclone:dá ao restic todos os provedores que o rclone suporta, sem que o restic precise falar nenhum deles - FUSE:
fuse3(oufuse) transformarestic mountem um diretório navegável com todos os snapshots, o jeito mais rápido de recuperar um arquivo - rest-server: o backend HTTP do próprio projeto, com modo somente-acréscimo, para que um cliente comprometido não apague os backups que fez
- Bancos de dados:
--stdinaceita um dump na entrada padrão, entãopg_dump … | restic backup --stdin --stdin-filename db.sqlnunca toca o disco
🚀 Por que escolher o deb.griffo.io?
- Ubuntu oficial: traz o restic no universe, congelado no dia da release, então um LTS pode estar anos atrás em trabalho de repositório e de limpeza
- Binário upstream: atual, mas é um binário comprimido em bzip2 que você mesmo descompacta em
/usr/local/bin, fora do apt, e depois mantém comrestic self-update - Snap: confinado, o que torna mais trabalhoso do que deveria fazer backup de caminhos fora da sua pasta pessoal e montar snapshots
- deb.griffo.io: versão mais recente com atualizações automáticas
- ✅ O mesmo pacote, mais novo: mesmo nome, mesma seção e mesmos caminhos do
resticdo próprio Ubuntu, então ele substitui o oficial em vez de instalar uma segunda cópia - ✅ Builds upstream verificados: cada binário é conferido contra o
SHA256SUMSdo upstream, e esse arquivo contra a chave de lançamento do restic, antes de ser empacotado - ✅ Atualizações automáticas: os pacotes são atualizados poucas horas após cada lançamento upstream
- ✅ Pacote completo: o binário oficial upstream, o conjunto inteiro de páginas de manual (
restic.1mais uma por subcomando) e as conclusões de bash, fish e zsh - ✅ Seis arquiteturas: amd64, arm64, armhf, ppc64el, s390x e riscv64, então o NAS, o Pi e o mainframe recebem o mesmo restic
- ✅ Multi-distribuição: funciona no Ubuntu 22.04, 24.04, 25.10 e 26.04
- ✅ Manutenção simples: atualizações com os comandos apt de sempre
📦 Repositório de build do pacote
Os pacotes Ubuntu são construídos e mantidos automaticamente neste repositório do GitHub:
- 💾 restic-debian - Builds dos últimos lançamentos
🔗 Pacotes relacionados
Também disponíveis no deb.griffo.io:
- rclone - O backend que dá ao restic todos os provedores que faltam
- Garage - Armazenamento S3 auto-hospedado para apontar um repositório
- Zellij - Multiplexador para deixar rodando um primeiro backup longo
- bottom - Ver o que um backup grande faz com a máquina
