Skip to content
This repository was archived by the owner on Jul 30, 2025. It is now read-only.

Toolkit de automação em Python para backup e recuperação verificada de sites (FTP) e bancos de dados (MySQL).

License

Notifications You must be signed in to change notification settings

felipecsr/util-backup-ftp-dump-mysql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Shell Script MySQL Status

🛠️ Toolkit de Automação para Recuperação de Ativos Digitais


📄 O Case: Resgate de Ativos Digitais em Lote

Este projeto foi desenvolvido como uma solução prática para a migração de múltiplos sites de um serviço de hospedagem que seria descontinuado. O desafio era garantir a recuperação integral e verificada de todos os ativos digitais (arquivos e bancos de dados) de forma automatizada.

💥 O Problema de Negócio

O processo manual de backup era inviável, lento e propenso a erros. A necessidade era de uma ferramenta que pudesse:

  • Realizar o backup completo de 10+ sites e seus respectivos bancos de dados em uma única execução.
  • Garantir que nenhum dado fosse perdido no processo.
  • Gerar evidências auditáveis do sucesso e da integridade de cada operação.

🎯 A Solução: Um Toolkit de Automação com Foco em Verificação

Foi desenvolvido um toolkit em Python para automatizar 100% do processo. A solução foi projetada com foco em velocidade, rastreabilidade e segurança, permitindo a migração completa em poucas horas e fornecendo múltiplos artefatos para validação.

✅ Resultados e Evidências do Projeto

A aplicação do toolkit resultou no backup bem-sucedido de todos os ativos, com a integridade validada por relatórios e logs gerados automaticamente. Os arquivos abaixo são exemplos reais da saída da ferramenta para um dos domínios e banco de dados atrelado:

  • Relatório de Integridade: Confirmação de que 100% dos arquivos e pastas foram espelhados localmente.
  • Sumário de Arquivos (CSV): Lista detalhada dos mais de 5.000 arquivos baixados, com seus respectivos tamanhos, para auditoria.
  • Log de Backup FTP: Log completo da operação de transferência de arquivos (com loops de resiliência para desconexão).
  • Log de Dump MySQL: Log da extração dos bancos de dados do domínio.

Além da recuperação, o sucesso do projeto foi validado pela restauração e execução dos backups em um ambiente de servidor local, utilizando XAMPP.

exemplo de tela dos sistema executado como localhost Tela de login executada localhost


🧩 Principais Funcionalidades do Toolkit

A solução é composta por scripts modulares e adaptáveis:

  • backup_ftp_em_lote.py (Versões para Linux & Windows):

    • Executa backups de múltiplos sites em lote a partir de um arquivo csv.
    • Gera logs detalhados e relatórios de verificação de integridade.
  • dump.py (Backup de Bancos de Dados):

    • Automatiza a execução de mysqldump para múltiplos bancos de dados.
    • Gera um guia de restauração automático para facilitar a migração.
    • Realiza uma validação cruzada para garantir que todas as tabelas foram exportadas.

🛠️ Tecnologias Utilizadas

  • Linguagem Principal: Python 3.8+
  • Automação de Sistema: Shell Script, mysqldump
  • Bibliotecas Python: pandas
  • Ambiente de Validação Local: XAMPP (Apache, MySQL)

🚀 Como Usar

  1. Configure os Arquivos de Credenciais:

    • Preencha o ftp_credenciais.csv com os dados de acesso FTP.
    • Preencha o ftp_credenciais_mysql.csv para os bancos de dados.
  2. Instale os Requisitos:

    • Certifique-se de ter mysqldump (via MySQL Client ou XAMPP) instalado e acessível no PATH do sistema.
    • Instale as bibliotecas Python necessárias:
    pip install -r requirements.txt
  3. Execute os Scripts:

    # Para backup de arquivos
    python linux_backup_ftp_em_lote.py
    
    # Para backup de bancos de dados
    python dump.py
  4. Verifique os Resultados: Os backups e logs estarão organizados nas pastas backup_ftp/ e backup_mysql/.


🧑‍💻 Autor

Felipe Reis | LinkedIn | GitHub

Este projeto exemplifica a aplicação de habilidades de scripting e automação para resolver um problema de negócio real, com foco em governança, segurança e recuperação de dados.

About

Toolkit de automação em Python para backup e recuperação verificada de sites (FTP) e bancos de dados (MySQL).

Topics

Resources

License

Stars

Watchers

Forks

Languages