Estágio 8: Operar
Objetivo: o site sobrevive a um laptop perdido, um servidor morto, uma atualização ruim e uma troca de máquina, e ninguém precisa lembrar como.
Passos
- Backups.
- Execute
scripts/backup.shsemanalmente e antes de trabalhos arriscados. Ele empacota o banco de dados, uploads, todos os branches e stashes do git e a memória do Claude. - Use
--encryptantes de o zip sair da máquina e mantenha uma cópia fora dela. - Ao vivo: os backups diários do host, mais os dumps que os scripts de implantação e conteúdo geram.
- Execute
- Anote onde tudo vive no
docs/reference/DISASTER_RECOVERY.mddo projeto, seção 0. Inclua a pasta de fotos originais: ela não está no git. - Teste de restauração. Restaure uma vez por trimestre em uma máquina reserva ou em um projeto DDEV novo, cronometre e registre na §5. Um backup que você nunca restaurou é uma esperança, não um backup.
- Credenciais: cada segredo tem uma linha em
CREDENTIALS_INVENTORY.md(nome, onde vive, quem tem, quando foi rotacionado). Rotacione qualquer coisa que um agente tenha visto. - Rotinas: verificações semanais, mensais e anuais, política de atualizações e alertas em
docs/reference/OPERATIONS.md. Atualizações de plugins vão para o staging primeiro. - Mais de uma máquina? Siga
references/multi-machine.md:docs/team/BRIDGE.mdguarda funções, regras e o registro de passagem;scripts/workstation-doctor.shverifica paridade;scripts/make-state-bundle.shcarrega a configuração ignorada pelo git, criptografada.
Portão (marque em SITE_STATUS.md)
- Backups agendados, com cópia fora da máquina
- Teste de restauração feito (data, minutos)
- Rotinas de atualização e alerta escritas em
OPERATIONS.md
Lições
- O script de backup já apontou para a pasta de memória do Claude errada. As sessões rodavam da pasta pai, então a
memória vivia em um caminho diferente. O script deriva o caminho, mas aceita
CLAUDE_MEM=para este caso. - Uma caixa de build na nuvem tinha um branch e stashes que não existiam em nenhum outro lugar, e a caixa não conseguia fazer push. Extraia-os com
git bundlevia ssh antes que a caixa pare ou seja deletada. - Linhas de base visuais feitas em um SO falham em outro. Mantenha-as na imagem Docker fixa.
- Um plano gratuito ou crédito que termina em uma data é um prazo para um teste de saída: uma semana antes, prove que você consegue reconstruir na próxima máquina a partir do git + pacote de estado + um backup.