Skip to content

Backups e recuperação

Nada se perde. Três backups independentes copiam tudo pro Google Drive (via rclone), em gdrive:PSYCO-backups/infocel/. Aqui está o que cada um cobre.

Backup O que cobre Quando Retenção
Banco AzuraCast Config das estações (sem músicas) Diário 04:00 30 dias no Drive · 7 no servidor
Biblioteca Todas as músicas e áudios Domingo 04:30 Só adiciona (nunca apaga)
Painel painel.db (sites, logins, CMS…) + uploads De hora em hora (:05) 7 dias horário · 90 dias diário

Gera um zip do banco da rádio (sem a mídia, pra ser leve — ~12 MB) e envia pro Drive em .../db/. Mantém 30 dias no Drive e 7 dias no próprio servidor.

Biblioteca de músicas (infocel-backup.sh media)

Section titled “Biblioteca de músicas (infocel-backup.sh media)”

Copia a biblioteca inteira pro Drive em .../media/. É append-only (rclone copy — só adiciona, nunca remove no destino), então nunca destrói uma cópia boa. Por ser o maior, roda só aos domingos, de madrugada.

Faz uma cópia consistente do painel.db usando a online backup API do SQLite (não um cp cru, que pegaria o arquivo no meio de uma escrita), empacota com a pasta uploads/ e sobe pro Drive em .../painel/. Guarda todos os snapshots de hora dos últimos 7 dias e um por dia por 90 dias.

  • Painel: existe um painel-restore.py que reverte o painel.db a partir de um snapshot do Drive.
  • Banco AzuraCast: o zip do Drive é restaurável pela própria ferramenta de backup do AzuraCast.
  • Biblioteca: os arquivos estão no Drive, prontos pra baixar de volta.

Ponto de atenção: velocidade da biblioteca

Section titled “Ponto de atenção: velocidade da biblioteca”

A cópia da biblioteca (dezenas de milhares de arquivos) é lenta de propósito — o rclone usa o client_id compartilhado do Google Drive, que sofre limite de requisições por minuto. Pra não apanhar do limite, o backup vai devagar (com pausas e poucas transferências simultâneas), o que faz o backup completo levar horas.

  • Config das rádios: salva todo dia.
  • Sites/logins/CMS: salvos de hora em hora.
  • Músicas: salvas toda semana (append-only).
  • Tudo vai pro Google Drive, com histórico. Nenhuma configuração ou conteúdo se perde.