Visão geral
O RCSS-tui é o sucessor em Go do projeto original RCSS, antes composto por scripts Bash. A nova versão concentra todo o fluxo de backup em uma interface de terminal, sem esconder o funcionamento do rclone nem armazenar credenciais de nuvem.
Cada remote do rclone funciona como uma conta independente, com suas próprias pastas de origem, destino, exclusões, regras de retenção, logs e tarefas agendadas. O programa roda em Linux, macOS e Windows.
Funcionalidades
- Backup com progresso ao vivo de uma ou várias pastas.
- Restauração navegável de arquivos e diretórios armazenados no remote.
- Limpeza segura com prévia em dry-run, seleção de itens e confirmação adicional no modo forçado.
- Múltiplas contas, uma para cada remote do rclone, com configurações isoladas.
- Agendamento via cron no Linux/macOS e Task Scheduler no Windows.
- Logs por conta acessíveis diretamente pela interface.
- Remotes criptografados por meio do backend
cryptdo rclone. - CLI headless para uso em scripts e rotinas automatizadas.
Segurança e retenção
A limpeza local fica desativada por padrão e só ocorre depois que a origem é enviada com sucesso. Falhas de upload e arquivos excluídos nunca disparam remoção local.
Para a nuvem, o RCSS-tui gera primeiro uma prévia dos arquivos que ultrapassaram a retenção. A limpeza também é bloqueada quando não existe um backup remoto recente; ignorar essa trava exige modo forçado e uma confirmação digitada.
Automação
Além da TUI, os fluxos principais podem ser executados sem interação:
rcss upload -p
rcss upload --account "work:"
rcss clean --dry-run --account "drive:"
As tarefas de upload e limpeza podem ser diárias ou semanais. O agendador altera apenas o bloco gerenciado pelo RCSS no crontab ou as tarefas RCSS-<conta>-Upload e RCSS-<conta>-Clean no Windows.
Arquitetura
| Camada | Tecnologia |
|---|---|
| Aplicação e CLI | Go |
| Interface de terminal | Bubble Tea |
| Transferência e clouds | Rclone |
| Configuração | TOML, separada por conta |
| Agendamento | Cron / Windows Task Scheduler |
| Plataformas | Linux, macOS e Windows |
As responsabilidades são separadas em pacotes para configuração, integração com rclone, backup e restauração, agendamento e telas da TUI. O mesmo núcleo atende tanto à interface interativa quanto aos comandos headless.
Instalação
git clone https://github.com/dougmb/RCSS-tui.git
cd RCSS-tui
go build -o rcss .
./rcss
O único requisito externo é ter o rclone instalado e ao menos um remote configurado.