Skip to content

🔐 Sistema inteligente de backup para Linux. Detecta projetos, compacta com exclusões automáticas e mantém índice completo.

License

Notifications You must be signed in to change notification settings

montezuma-p/backup-universal

Repository files navigation

📦 backup universal

Python Version License Tests Coverage

sistema inteligente de backup para linux

porque perder dados é coisa do passado 🚀


💡 o que é isso?

Sistema completo e modular de backup que faz tudo pra você: compacta, organiza, limpa backups antigos e ainda restaura quando precisar.

Versão 1.2 agora com suite completa de testes automatizados e 80%+ de cobertura de código.


✨ recursos principais


Compressão Inteligente

Verificação de Integridade

Exclusões Inteligentes

Restauração Fácil

🚀 instalação rápida

git clone https://github.com/montezuma-p/backup-universal
cd backup-universal
cp config.json.example config.json

💻 como usar

# Criar backup
python3 -m backup --criar /caminho/origem

# Listar backups disponíveis
python3 -m backup --listar

# Restaurar backup
python3 -m backup --restaurar

# Limpar backups antigos
python3 -m backup --limpar-antigos

⚙️ configuração

Edite o arquivo config.json com suas preferências:

{
  "paths": {
    "backup_destination": "~/.backups"
  },
  "retention_policy": {
    "max_backups_per_directory": 5,
    "max_age_days": 30
  },
  "compression": {
    "algorithm": "gzip"
  }
}

🧪 testes

O projeto inclui uma suite completa de testes automatizados:

# Instalar dependências de teste
pip install -r requirements-dev.txt

# Rodar todos os testes
pytest

# Ver cobertura de código
pytest --cov=backup --cov-report=html

229 testes cobrindo todos os módulos principais com 81% de cobertura total.


📁 estrutura do projeto

.
├── backup.sh
├── cli.py
├── config.json.example
├── config.py
├── core
│   ├── backup_manager.py
│   ├── compression.py
│   ├── exclusion.py
│   ├── __init__.py
│   └── integrity.py
├── docs
│   ├── CONTRIBUINDO.md
│   └── ROADMAP.md
├── examples
│   ├── examples.py
│   └── README.md
├── __init__.py
├── LICENSE
├── __main__.py
├── pytest.ini
├── README.md
├── requirements-dev.txt
├── restore
│   ├── __init__.py
│   └── restore_manager.py
├── setup.py
├── storage
│   ├── cleanup.py
│   ├── index.py
│   └── __init__.py
├── tests
│   ├── conftest.py
│   ├── e2e
│   ├── __init__.py
│   ├── integration
│   ├── tmp_debug2
│   │   └── restored.txt
│   └── unit
│       ├── conftest.py
│       ├── __init__.py
│       ├── test_backup_manager.py
│       ├── test_cleanup.py
│       ├── test_compression.py
│       ├── test_config.py
│       ├── test_exclusion.py
│       ├── test_file_utils.py
│       ├── test_formatters.py
│       ├── test_index.py
│       ├── test_integrity.py
│       └── test_restore_manager.py
└── utils
    ├── file_utils.py
    ├── formatters.py
    ├── __init__.py
    └── user_input.py

12 directories, 44 files

🎯 exclusões automáticas

O sistema ignora automaticamente arquivos desnecessários:

  • Dependências: node_modules, __pycache__, venv
  • Cache: *.cache, .pytest_cache, .npm
  • Temporários: *.tmp, *.log
  • Controle de versão: .git, .svn
  • IDEs: .vscode, .idea, *.swp
  • Builds: build, dist, target

🛠️ stack tecnológico


🔮 roadmap

Veja o ROADMAP.md completo para os próximos passos.

v1.2 ✅ Suite de testes automatizados
v1.3 🚧 Testes de integração
v1.4 📋 Integração com cloud storage


📄 licença

Este projeto está sob a licença MIT.
Veja o arquivo LICENSE para mais detalhes.


👨‍💻 autor

Montezuma

GitHub


🎉 bora fazer backup! 🎉


About

🔐 Sistema inteligente de backup para Linux. Detecta projetos, compacta com exclusões automáticas e mantém índice completo.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published