Voltar

RCSS-tui — Gerenciador de backups no terminal

Aplicação multiplataforma em Go para gerenciar backups via rclone por uma interface de terminal. Reúne backup, restauração, limpeza segura, múltiplas contas e agendamento, além de comandos headless para automação.

GoBubble TeaRcloneTUIBackupCLI

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. Uma conta acompanha quantas pastas forem necessárias, e cada uma vira um backup separado no remote (remote/<nome-da-pasta>), com agendamento próprio. O programa roda em Linux, macOS e Windows.

Funcionalidades

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 upload --folder ~/Projetos/site --folder ~/Projetos/fotos
rcss clean --dry-run --account "drive:"

O --folder pode ser repetido, e é ele que torna possível o agendamento por pasta: cada bloco agendado instala o mesmo comando com a sua origem. Uma pasta que saiu da configuração faz o job falhar de forma explícita no log, em vez de fazer um backup vazio em silêncio.

As tarefas podem ser diárias ou semanais. O agendador altera apenas o bloco gerenciado pelo RCSS no crontab ou as tarefas RCSS-<conta>-* no Windows; um job órfão, deixado por uma pasta removida, aparece marcado como tal e é apagado no próximo salvamento.

Arquitetura

CamadaTecnologia
Aplicação e CLIGo
Interface de terminalBubble Tea
Transferência e cloudsRclone
ConfiguraçãoTOML, separada por conta
AgendamentoCron / Windows Task Scheduler
PlataformasLinux, 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.

Galeria

Contas isoladas por remote do rclone: troca da conta ativa, criação de um novo remote e remoção das configurações sem tocar no rclone.
Várias pastas de origem por conta — cada uma é enviada como um backup independente em remote/<nome-da-pasta>.
Configurações em página única: os itens com sub-opções expandem no lugar e o rodapé explica o item em foco.
Agendamento por pasta — um bloco para todas as pastas, um para cada origem e um para a limpeza, diários ou semanais, instalados no crontab ou no Task Scheduler.
Backup em execução, com a saída do rclone transmitida ao vivo enquanto cada pasta é enviada.
Resumo da sincronização concluída: duração, arquivos removidos e erros.
Navegação pelos backups no remote para restaurar um arquivo ou uma pasta inteira.
A limpeza da nuvem começa explicando o critério de retenção e a trava de segurança; a prévia roda sempre em dry-run.