Script instalador do sistema CopyToGDriver, responsável por configurar o ambiente de sincronização local com o Google Drive via Rclone.
Compatível com:
| Seção | Descrição |
|---|---|
| 🛡️ Proteção CRLF | Remove quebras de linha do Windows (garante portabilidade Linux/macOS). |
| 🧭 Parser de Parâmetros | Interpreta os argumentos enviados pelo instalador Lazarus ou linha de comando. |
| 📦 Instalação Rclone | Instala o Rclone caso não esteja presente. |
| ⚙️ Configuração do Remote | Cria/configura o remote gdriver para acesso ao Google Drive. |
| 💽 Registro de Discos | Detecta e registra volumes montados (ext4, ntfs, btrfs, etc.). |
| 📁 Instalação de Scripts | Copia todos os módulos CopyToGDriver e define permissões de execução. |
| 🔗 Aliases Globais | Cria atalhos copydrive, copycheck e copyrestore no .bashrc. |
| 🧩 Finalização | Exibe resumo e instruções pós-instalação. |
O instalador GUI monta automaticamente os parâmetros e executa:
bash CopyToGDriver_Installer.sh [opções]
Exemplo de instalação completa:
./CopyToGDriver_Installer.sh \
--auto-install-rclone \
--auto-config-remote \
--transfers=4 \
--retries=3 \
--exclude="*.tmp,*.log" \
--verbose
| Parâmetro | Descrição | Exemplo | Geração (GUI Lazarus) |
|---|---|---|---|
--help, -h |
Exibe ajuda e sai | --help |
n/a |
--check |
Apenas verifica o ambiente atual | --check |
(copycheck) |
--dry-run |
Simula a instalação sem alterações | --dry-run |
cbDryRun |
--reinstall |
Força reinstalação limpa | --reinstall |
n/a |
--auto-install-rclone |
Instala Rclone automaticamente | --auto-install-rclone |
cbAutoInstallRclone |
--auto-config-remote |
Cria e autentica o remote gdriver |
--auto-config-remote |
cbAutoConfigRemote |
--force |
Força sincronização mesmo com dados existentes | --force |
cbForceSync |
--verbose |
Habilita logs detalhados | --verbose |
cbVerboseMode |
--skip-existing |
Ignora arquivos já existentes | --skip-existing |
cbSkipExisting |
--transfers=<N> |
Define número de transferências simultâneas | --transfers=5 |
seMaxTransfers |
--retries=<N> |
Define número de tentativas de reconexão | --retries=3 |
seRetryCount |
--exclude=<padrões> |
Exclui padrões (ex: logs, temporários) | --exclude="*.tmp,*.log" |
edtExcludePatterns |
--include=<padrões> |
Inclui apenas arquivos que combinem com o padrão | --include="*.cfg,*.sh" |
edtIncludePatterns |
Apenas valida o ambiente (sem alterar nada):
./CopyToGDriver_Installer.sh --check
Saída esperada:
🔍 Verificação de ambiente CopyToGDriver
✅ Rclone instalado
✅ Diretório de scripts: /home/user/scripts/CopyToGDriver
✅ Configuração Rclone: ~/.config/rclone/rclone.conf
✅ Registro de discos detectado
Executa a instalação de forma simulada:
./CopyToGDriver_Installer.sh --dry-run
Exibe todas as ações, mas não altera o sistema.
Remove instalações antigas e reinstala tudo:
./CopyToGDriver_Installer.sh --reinstall --auto-install-rclone
O formulário SetupForm_u.pas monta os parâmetros automaticamente com:
ExecuteProcess('bash', [InstallScript, Parameters]);
onde Parameters é construído pela função BuildScriptParameters.
Exemplo de chamada gerada:
bash CopyToGDriver_Installer.sh \
--auto-install-rclone \
--auto-config-remote \
--transfers=4 \
--retries=3 \
--verbose \
--exclude="*.tmp,*.log"
Após a execução, os arquivos serão organizados da seguinte forma:
~/scripts/CopyToGDriver/
├─ CopyToGDriver.sh
├─ CopyToGDriver_CopyCurrent.sh
├─ CopyToGDriver_Restore.sh
└─ includes/
├─ crossplatform/
└─ linux/
Logs:
~/CopyToGDriver_Log/system/
Registro de discos:
~/.config/CopyToGDriver/disks_registry.conf
Adicionados automaticamente ao ~/.bashrc:
| Alias | Comando | Função |
|---|---|---|
copydrive |
CopyToGDriver_CopyCurrent.sh |
Sincroniza a pasta atual |
copycheck |
CopyToGDriver.sh --check-only |
Verifica ambiente e dependências |
copyrestore |
CopyToGDriver_Restore.sh |
Restaura último backup da pasta |
--auto-config-remote abrirá o navegador para autenticação Google.Este script é fornecido sob a licença MIT, de uso livre e modificação mediante atribuição de crédito ao autor original.
Paulo S. S. Pacheco + ChatGPT (GPT-5) 📦 Versão 0.6.0 — Atualizado em novembro/2025 💬 “Feito para funcionar igual no terminal e no clique.”