Versão: 0.3.1
Autor: Paulo SSPacheco + ChatGPT (GPT-5)
Data: 31/10/2025
O CopyToGDriver é um sistema modular de sincronização inteligente entre pastas locais e o Google Drive, utilizando o Rclone.
Seu diferencial é a segurança contra perda de dados, graças ao mecanismo automático de restauração de backups e abortamento preventivo em situações de risco.
O sistema é composto por três módulos principais:
| Módulo | Versão | Função |
|---|---|---|
CopyToGDriver_CopyCurrent.sh |
0.3.1 | Orquestrador — controla todo o ciclo de sincronização |
CopyToGDriver_ConfigFunctions.sh |
0.0.22 | Parser e gerenciamento dinâmico de parâmetros |
CopyToGDriver_Restore.sh |
0.0.3 | Restauração automática e segura do backup mais recente |
gdriver:
├── rclone/ ← Pasta principal de sincronização
│ └── MeuProjeto/
│ └── (arquivos ativos)
└── rclone.deleted/ ← Pasta de backups automáticos
└── MeuProjeto/
├── 2025-10-30/
└── 2025-10-31/
1️⃣ Início — O script CopyToGDriver_CopyCurrent.sh é executado.
2️⃣ Simulação — O sistema faz um dry-run (sem alterações reais).
3️⃣ Detecção — Se a pasta local estiver “efetivamente vazia” (apenas scripts), aciona o módulo de restauração.
4️⃣ Restauração — O backup mais recente é recuperado automaticamente de rclone.deleted.
5️⃣ Abortamento — A sincronização é interrompida para evitar sobrescrita.
6️⃣ Revisão — O usuário verifica os arquivos restaurados.
7️⃣ Sincronização real — Após confirmação, o processo é relançado com segurança.
CopyToGDriver/
├── CopyToGDriver.sh ← Script principal
├── CopyToGDriver_CopyCurrent.sh ← Orquestrador (execução corrente)
├── CopyToGDriver_ConfigFunctions.sh← Configuração e parsing
├── CopyToGDriver_Restore.sh ← Restauração automática
├── CopyToGDriver_Utils.sh ← Funções utilitárias
└── .rclone-sync/
└── logs/
├── sync-<pasta>-<data>.log
├── restore-<pasta>-<data>.log
└── ...
| Situação | Ação Automática |
|---|---|
| Pasta local vazia ou apenas scripts | Inicia restauração do backup mais recente |
| Falha de restauração | Aborta sincronização imediatamente |
| Restauração concluída | Cria marcador .restore_aborted e encerra |
| Script principal ausente | Exibe aviso e cancela execução |
| Execução em modo teste | Nenhuma modificação feita (--dry-run) |
“Falhar em restaurar é aceitável.
Sincronizar uma pasta vazia e apagar o backup, nunca.”
O sistema prioriza integridade e segurança dos dados acima da performance, garantindo que nenhuma sincronização destrutiva ocorra sem validação.
Todos os logs ficam centralizados em:
~/.rclone-sync/logs/
sync-<pasta>-<data>.log — logs de sincronizaçãorestore-<pasta>-<data>.log — logs de restauração.restore_aborted — marcador de segurança (apagado após detecção)./CopyToGDriver_CopyCurrent.sh
./CopyToGDriver_CopyCurrent.sh --auto
./CopyToGDriver_Restore.sh --remote-folder MeuProjeto
./CopyToGDriver_Restore.sh --help
| Variável | Valor | Descrição |
|---|---|---|
REMOTE_NAME |
gdriver | Remote configurado no Rclone |
BASE_REMOTE_FOLDER |
rclone | Pasta base principal no Google Drive |
DELETED_BASE_FOLDER |
rclone.deleted | Pasta de backups automáticos |
LOG_DIR |
~/.rclone-sync/logs | Diretório dos logs |
SCRIPT_NAME |
/home/paulosspacheco/scripts/CopyToGDriver/CopyToGDriver.sh | Script principal |
✔️ Simulação automática antes da sincronização
✔️ Detecção de pastas “vazias de conteúdo”
✔️ Restauração automatizada com logs
✔️ Abortamento preventivo após restore
✔️ Compatibilidade total com Rclone
✔️ Arquitetura modular e expansível
✔️ Segurança de dados em primeiro lugar
Rclone ≥ v1.60.0
Instalação recomendada:
curl https://rclone.org/install.sh | sudo bash
Bash ≥ 5.0
| Sistema | Status |
|---|---|
| Ubuntu 22.04 LTS | ✅ Aprovado |
| Debian 12 | ✅ Aprovado |
| WSL2 (Ubuntu) | ✅ Aprovado |
Paulo SSPacheco
Desenvolvido em colaboração com ChatGPT (GPT-5)
“Automação é útil. Segurança é essencial.”
Este projeto é de uso pessoal e educacional.
Distribuição ou modificação permitida mediante atribuição de crédito ao autor original.