SLV Backup - Início rápido

🗄️ SLV Backup

O SLV Backup cria backups criptografados e incrementais do seu nó usando o restic. Todos os dados são criptografados no lado do cliente com AES-256 antes do upload — o servidor nunca vê seus dados em texto puro.
Modo legado: o SLV também oferece suporte a backups tar+zstd não criptografados (sem --restic). Recomendamos fortemente usar --restic em todos os novos backups.

Pré-requisitos

  • SLV CLI instalado no nó de destino
  • Acesso sudo (necessário para o backup do disco inteiro)
  • Login feito (slv login) com uma assinatura de armazenamento ativa
  • restic instalado (apt install restic)

Criar um backup criptografado

bash
sudo slv backup create --restic --yes
🗄️  SLV Backup (restic mode)

  Region:    default
  Retention: 7 days

⚠️  Restic encryption password generated and saved to:
   /home/solv/.slv/restic-password
   BACK UP THIS FILE — without it, backups cannot be restored.

🔧 Initializing restic repository (if needed)...
📦 Creating restic backup...

Files:       151263 new,     0 changed,     0 unmodified
Dirs:        22486 new,     0 changed,     0 unmodified
Added to the repository: 4.107 GiB (1.837 GiB stored)

processed 151263 files, 4.366 GiB in 0:50
snapshot b6925e6d saved

✅ Restic backup complete
🧹 Applying retention policy (keep within 7 days)...
✅ Backup complete.

O que acontece na primeira execução

  1. Uma senha de criptografia aleatória é gerada e salva em ~/.slv/restic-password (modo 0600)
  2. Um repositório restic é inicializado no ERPC Cloud Storage
  3. É feito o backup do disco inteiro (exceto os pseudo-sistemas de arquivos do sistema)

Execuções seguintes

Somente os arquivos alterados são enviados (incremental). A deduplicação mantém baixos os custos de armazenamento.

Listar backups

bash
sudo slv backup list
Mostra tanto os snapshots do restic quanto os backups tar legados no armazenamento em nuvem.

Restaurar a partir de um backup

Restaure o snapshot mais recente:
bash
sudo slv backup restore latest
Restaure um snapshot específico:
bash
sudo slv backup restore b6925e6d
Restaure um backup tar legado:
bash
sudo slv backup restore backup-mynode-20260318.tar.zst

Verificar a integridade do backup

Para executar restic check por conta própria, conecte-se com uma chave de acesso ao storage. As chaves de API de RPC não são aceitas neste endpoint.
  1. Abra a página Storage, acesse Chaves de acesso ao storage e clique em Emitir chave. Somente leitura é suficiente para check.
  2. Copie a URL do repositório restic exibida logo após a criação da chave. Ela é exibida apenas uma vez: se você a perder, revogue a chave e emita uma nova.
  3. Execute check com essa URL:
bash
sudo restic -r '<RESTIC_REPOSITORY_URL>' \
  --password-file ~/.slv/restic-password check

Configurar backups automáticos (Cron)

bash
sudo slv backup create --restic --cron daily
IntervaloDescrição
dailyExecuta uma vez por dia
weeklyExecuta uma vez por semana
monthlyExecuta uma vez por mês
offRemove a tarefa do cron

Retenção

Por padrão, os snapshots com mais de 7 dias são removidos automaticamente:
bash
sudo slv backup create --restic --retention 14

Personalizar as exclusões

Veja a lista de exclusões atual:
bash
slv backup create --list-excludes
Adicione outros caminhos a excluir:
bash
sudo slv backup create --restic --exclude /home/solv/ledger --exclude /home/solv/snapshots

Criptografia e segurança

RecursoDetalhe
CriptografiaAES-256-CTR + Poly1305-AES (no lado do cliente)
IntegridadeArmazenamento endereçável por conteúdo com SHA-256
DeduplicaçãoDivisão em blocos definida pelo conteúdo
Visibilidade no servidorNenhuma — o servidor só vê blobs criptografados
Arquivo de senha~/.slv/restic-password (modo 0600)
Excluídos do backup~/.slv/restic-password, ~/.slv/api.yml, ~/.slv/backup.env
⚠️ IMPORTANTE: Guarde uma cópia do seu arquivo ~/.slv/restic-password em outro lugar. Sem ele, seus backups ficam perdidos para sempre.

Referência de opções

OpçãoDescrição
--resticUsa o restic para backup incremental criptografado (recomendado)
-r, --region <region>Região de armazenamento (padrão: eu)
--exclude <path>Caminhos adicionais a excluir (pode ser repetido)
--include <path>Remove das exclusões padrão (pode ser repetido)
--list-excludesMostra a lista de exclusões atual e sai
--retention <days>Remove os snapshots com mais de N dias (padrão: 7)
--cron <interval>Configura a tarefa do cron (daily/weekly/monthly/off)
-y, --yesPula as solicitações de confirmação
--uploadLegado: envia o backup tar para o armazenamento em nuvem
-o, --output <path>Legado: caminho do arquivo de saída do backup tar

Modo legado (tar+zstd)

Para manter a compatibilidade com versões anteriores, os backups tar não criptografados continuam sendo suportados:
bash
sudo slv backup create --upload --yes     # Unencrypted tar backup
Nota: os backups legados não são criptografados. Recomendamos migrar para --restic em todos os novos backups.