Primeiro commit
This commit is contained in:
159
backup-projeto-completo.sh
Executable file
159
backup-projeto-completo.sh
Executable file
@@ -0,0 +1,159 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 💾 Backup COMPLETO do Projeto Liberi Kids
|
||||
# Cria backup de tudo antes de fazer deploy
|
||||
# Execute: ./backup-projeto-completo.sh
|
||||
|
||||
echo "💾 BACKUP COMPLETO - Liberi Kids"
|
||||
echo "================================"
|
||||
|
||||
# Cores para output
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
|
||||
log() {
|
||||
echo -e "${GREEN}[✅ OK]${NC} $1"
|
||||
}
|
||||
|
||||
warn() {
|
||||
echo -e "${YELLOW}[⚠️ WARN]${NC} $1"
|
||||
}
|
||||
|
||||
info() {
|
||||
echo -e "${BLUE}[ℹ️ INFO]${NC} $1"
|
||||
}
|
||||
|
||||
error() {
|
||||
echo -e "${RED}[❌ ERRO]${NC} $1"
|
||||
}
|
||||
|
||||
# Configurações
|
||||
BACKUP_DIR="$HOME/liberi-backups"
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
BACKUP_NAME="liberi-kids-backup-$TIMESTAMP"
|
||||
BACKUP_PATH="$BACKUP_DIR/$BACKUP_NAME"
|
||||
|
||||
echo ""
|
||||
info "📋 ESTE BACKUP INCLUIRÁ:"
|
||||
echo " 📁 Código fonte completo"
|
||||
echo " 🔧 Configurações (.env)"
|
||||
echo " 📦 Frontend compilado"
|
||||
echo " 🗄️ Scripts e documentação"
|
||||
echo " 🏦 Configurações PIX"
|
||||
echo " 📚 Todos os arquivos do projeto"
|
||||
echo ""
|
||||
|
||||
# Criar diretório de backup
|
||||
mkdir -p $BACKUP_DIR
|
||||
|
||||
echo ""
|
||||
info "💾 CRIANDO BACKUP COMPLETO..."
|
||||
|
||||
# Criar backup
|
||||
cp -r . $BACKUP_PATH
|
||||
|
||||
# Remover arquivos desnecessários do backup
|
||||
rm -rf $BACKUP_PATH/node_modules 2>/dev/null || true
|
||||
rm -rf $BACKUP_PATH/client/node_modules 2>/dev/null || true
|
||||
rm -rf $BACKUP_PATH/.git 2>/dev/null || true
|
||||
rm -rf $BACKUP_PATH/logs 2>/dev/null || true
|
||||
rm -rf $BACKUP_PATH/uploads/* 2>/dev/null || true
|
||||
|
||||
log "✅ Backup criado: $BACKUP_PATH"
|
||||
|
||||
echo ""
|
||||
info "📊 ESTATÍSTICAS DO BACKUP:"
|
||||
|
||||
# Contar arquivos
|
||||
TOTAL_FILES=$(find $BACKUP_PATH -type f | wc -l)
|
||||
TOTAL_SIZE=$(du -sh $BACKUP_PATH | cut -f1)
|
||||
|
||||
echo " 📁 Total de arquivos: $TOTAL_FILES"
|
||||
echo " 💾 Tamanho total: $TOTAL_SIZE"
|
||||
echo " 📅 Data: $(date)"
|
||||
echo ""
|
||||
|
||||
info "📋 CONTEÚDO DO BACKUP:"
|
||||
echo " ✅ server-supabase.js - Servidor principal"
|
||||
echo " ✅ client/ - Frontend React"
|
||||
echo " ✅ config/ - Configurações (Supabase, PIX, Google)"
|
||||
echo " ✅ package.json - Dependências"
|
||||
echo " ✅ .env - Credenciais (se existir)"
|
||||
echo " ✅ *.sh - Scripts de deploy"
|
||||
echo " ✅ *.md - Documentação"
|
||||
echo " ✅ *.sql - Scripts de banco"
|
||||
echo ""
|
||||
|
||||
# Criar arquivo de informações do backup
|
||||
cat > $BACKUP_PATH/BACKUP-INFO.txt << EOF
|
||||
BACKUP LIBERI KIDS
|
||||
==================
|
||||
|
||||
Data: $(date)
|
||||
Versão: Completa com PIX
|
||||
Servidor: Supabase
|
||||
Frontend: React compilado
|
||||
|
||||
CONTEÚDO:
|
||||
- Código fonte completo
|
||||
- Configurações PIX Mercado Pago
|
||||
- Frontend compilado
|
||||
- Scripts de deploy
|
||||
- Documentação completa
|
||||
|
||||
RESTAURAR:
|
||||
1. Extrair backup
|
||||
2. npm install
|
||||
3. Configurar .env
|
||||
4. ./deploy-completo-servidor.sh
|
||||
|
||||
SUPORTE:
|
||||
- Banco: Supabase (não incluído no backup)
|
||||
- PIX: Mercado Pago
|
||||
- Deploy: Scripts automatizados
|
||||
EOF
|
||||
|
||||
log "✅ Arquivo de informações criado"
|
||||
|
||||
echo ""
|
||||
info "🗜️ COMPACTANDO BACKUP..."
|
||||
|
||||
# Criar arquivo compactado
|
||||
cd $BACKUP_DIR
|
||||
tar -czf "$BACKUP_NAME.tar.gz" "$BACKUP_NAME"
|
||||
rm -rf "$BACKUP_NAME"
|
||||
|
||||
COMPRESSED_SIZE=$(du -sh "$BACKUP_NAME.tar.gz" | cut -f1)
|
||||
|
||||
log "✅ Backup compactado: $BACKUP_DIR/$BACKUP_NAME.tar.gz"
|
||||
|
||||
echo ""
|
||||
log "🎉 BACKUP COMPLETO FINALIZADO!"
|
||||
echo ""
|
||||
|
||||
info "📋 RESUMO DO BACKUP:"
|
||||
echo " 📁 Localização: $BACKUP_DIR/$BACKUP_NAME.tar.gz"
|
||||
echo " 💾 Tamanho: $COMPRESSED_SIZE"
|
||||
echo " 📅 Data: $(date)"
|
||||
echo " 🔢 Arquivos: $TOTAL_FILES"
|
||||
echo ""
|
||||
|
||||
info "🔄 COMO RESTAURAR:"
|
||||
echo " 1. cd $BACKUP_DIR"
|
||||
echo " 2. tar -xzf $BACKUP_NAME.tar.gz"
|
||||
echo " 3. cd $BACKUP_NAME"
|
||||
echo " 4. npm install"
|
||||
echo " 5. ./deploy-completo-servidor.sh"
|
||||
echo ""
|
||||
|
||||
info "📂 BACKUPS DISPONÍVEIS:"
|
||||
ls -la $BACKUP_DIR/*.tar.gz 2>/dev/null | tail -5 || echo " (Este é o primeiro backup)"
|
||||
|
||||
echo ""
|
||||
warn "💡 DICA: Mantenha backups regulares"
|
||||
warn "💡 O banco Supabase não está incluído (é na nuvem)"
|
||||
|
||||
log "✨ BACKUP SEGURO CRIADO!"
|
||||
Reference in New Issue
Block a user