Eu perdi uma semana configurando o OpenClaw uma vez. Não por causa de um hack ou uma falha de hardware. Foi porque eu executei uma atualização de sistema que corrompeu meu cartão SD. Tudo — minha configuração, minhas habilidades personalizadas, meus arquivos de memória, minhas definições de tarefas cron — desapareceu.
Reconstruir levou todo um fim de semana. E o pior é que eu sabia que deveria ter feito backups. Eu estava sempre adiando, dizendo “vou fazer isso amanhã.”
Veja a estratégia de backup que estou usando agora. Ela leva 20 minutos para ser configurada e funciona automaticamente. Sem desculpas.
O que deve ser salvo
Não tudo. O OpenClaw em si pode ser reinstalado. O sistema operacional pode ser reinstalado. O que não pode ser facilmente recriado:
Arquivos de configuração. Sua configuração principal (YAML), chaves de API, configurações de modelo, configurações de integração. São horas de ajustes minuciosos que você não quer refazer.
Arquivos de memória e de trabalho. Memória de longo prazo, notas diárias, documentação de projeto, instruções personalizadas. É o conhecimento acumulado do seu agente.
Habilidades personalizadas. Todas as habilidades que você escreveu ou modificou. As habilidades da comunidade podem ser reinstaladas, mas as suas existem apenas na sua máquina.
Histórico de sessões. Opcional — isso depende da importância que você dá às conversas passadas. Eu mantenho 30 dias de histórico para referência, mas não choraria se isso desaparecesse.
Definições de tarefas cron. Suas tarefas agendadas e suas configurações. Recriar isso de memória é propenso a erros.
A estratégia de backup
Três níveis, cada um com um propósito diferente:
Nível 1: Backup local diário. Um job cron que roda às 2h da manhã, copia os diretórios críticos para uma pasta datada na mesma máquina. Isso protege contra a exclusão acidental e erros de configuração. Se eu cometer um erro em um arquivo de configuração às 15h, posso restaurar a versão da noite anterior em poucos segundos.
Conservação: 7 dias de backups diários. Os mais antigos são automaticamente excluídos.
Nível 2: Backup remoto diário. Após o backup local, o rsync copia o backup para uma segunda máquina (eu uso um NAS na minha rede doméstica, mas um VPS barato também serve). Isso protege contra falhas de hardware. Se o cartão SD do Pi falhar, o backup existe em outro lugar.
A comando rsync é simples: rsync -az --delete /backup/openclaw/ nas:/backups/openclaw/. A opção --delete mantém a cópia remota sincronizada sem crescimento indefinido.
Nível 3: Backup semanal na nuvem. Todo domingo, os arquivos de configuração críticos (apenas as pequenas coisas — configuração, habilidades, arquivos de memória — cerca de 5 MB no total) são criptografados e enviados para o armazenamento em nuvem. Esse é o nível de recuperação após desastres. Se minha casa pegar fogo e levar tanto o Pi quanto o NAS, ainda terei minhas configurações.
Eu uso rclone para sincronizar com Backblaze B2 (alguns centavos por mês para essa quantidade de dados). Os arquivos são criptografados localmente antes do upload usando GPG.
O script de backup
Todo o backup é um script bash de cerca de 30 linhas:
1. Definir os diretórios a serem salvos (config, espaço de trabalho, habilidades, sessões)
2. Criar um arquivo tar datado desses diretórios
3. Manter os 7 arquivos tar locais mais recentes, excluir os mais antigos
4. Rsync do último arquivo tar para o servidor remoto
5. No domingo: criptografar e fazer o upload para o armazenamento em nuvem
6. Registrar o resultado (sucesso/falha, tamanhos, duração)
O script é executado via cron às 2h da manhã todos os dias. Tempo total de execução: cerca de 30 segundos para uma instalação típica.
Testes de restauração
Um backup que você nunca testou não é um backup — é uma esperança.
Todo mês, eu faço um teste de restauração. Não no meu Pi de produção — em um cartão SD de reserva. Flashear um novo sistema operacional, instalar o OpenClaw, restaurar a partir do backup e checar se tudo funciona. O teste leva cerca de 30 minutos.
Coisas que descobri durante os testes de restauração:
– Um caminho de backup que mudou após uma atualização do OpenClaw (a estrutura dos diretórios se alterou)
– Uma definição de tarefa cron que fazia referência a um caminho local não incluído no backup
– Uma chave API que estava armazenada em uma variável de ambiente em vez do arquivo de configuração (e, portanto, não foi salva)
Cada um desses erros poderia ser uma surpresa desagradável durante uma recuperação real. É melhor encontrá-los durante um teste tranquilo no sábado do que em uma emergência às 3 da manhã.
A Procedimento de Recuperação
Quando as coisas dão errado, você quer uma lista de verificação, não uma árvore de decisão. Aqui está a minha:
1. Instalar um novo sistema operacional em um novo cartão SD / SSD
2. Instalar Node.js e OpenClaw
3. Copiar o arquivo tar de backup no novo sistema
4. Extrair para os diretórios corretos
5. Verificar chaves API e conexões
6. Iniciar o OpenClaw e verificar se as funcionalidades básicas funcionam
7. Verificar tarefas cron e programadas
8. Verificar se os arquivos de memória e de espaço de trabalho estão intactos
Tempo total de recuperação: cerca de 45 minutos desde um cartão SD vazio até um sistema totalmente operacional. Compare isso ao fim de semana que passei reconstruindo sem backups.
O que a maioria das pessoas erra
Fazer backups demais. Você não precisa fazer backup de todo o sistema. O sistema operacional e o próprio OpenClaw podem ser reinstalados facilmente. Faça backup apenas do que é único para sua instalação.
Não fazer backup das chaves API. Se suas chaves API estão em variáveis de ambiente em vez de arquivos de configuração, elas não estarão no seu backup. Mova-as para o arquivo de configuração ou mantenha um documento seguro separado com todas as chaves.
Nenhuma cópia remota. Um backup na mesma máquina que falha não é um backup. No mínimo, copie para uma segunda máquina. A versão mais simples: envie por e-mail o arquivo de configuração uma vez por semana.
Nunca testar as restaurações. Teste seu processo de restauração antes de precisar dele. O momento de descobrir que seu backup está incompleto não é durante uma emergência.
🕒 Published: