RCMate

Eine Terminal-Oberfläche zum Starten, Überwachen und Verwalten von rclone-Synchronisationen.

RCMate im Terminal: eine Liste mit vier Sync-Paaren mit Fortschrittsbalken, Typ und Status, darunter die Tastenbelegung

RCMate ist eine Terminal-App für rclone, die sich ganz mit der Tastatur bedienen lässt. Sie beschreiben Ihre Synchronisationen einmal in einer TOML-Datei und können sie danach auf einem Bildschirm auswählen, starten und verfolgen, statt lange rclone-Befehle von Hand einzutippen.

Was es kann

  • Eine Liste von Sync-Paaren. Jedes Paar hat einen Namen, eine Quelle, ein Ziel, einen Typ und optionale Ein- und Ausschlussfilter.
  • Vier Sync-Typen. sync, bisync, copy und move, also dieselben Operationen wie rclone.
  • Fortschritt in Echtzeit. RCMate spricht mit der Remote-Control-API (RC) von rclone und zeigt während eines Laufs Übertragungswerte, Fortschrittsbalken und den Fortschritt pro Datei.
  • Auch einzelne Dateien. Ist Quelle oder Ziel eine einzelne Datei, führt RCMate den Auftrag auf deren Ordner aus und filtert auf diese Datei.
  • Bearbeiten in der App. Paare und ihre Optionen lassen sich in einem Formular anlegen und ändern. Die Änderungen werden in die Konfigurationsdatei geschrieben.
  • Signierte Aktualisierung. rcmate self-update zeigt die Release Notes seit Ihrer Version und ersetzt das Programm erst, nachdem die Signatur geprüft wurde.

Den passenden Sync-Typ wählen

TypRichtungLöschtGeeignet für
synceinseitigim Ziel, damit es der Quelle entsprichteinen exakten Spiegel oder ein Backup
copyeinseitignieein Backup, das gelöschte Dateien behält
moveeinseitigin der Quelle, nach der ÜbertragungDateien von einer Quelle wegverschieben
bisyncbeidseitigauf beiden Seiten, gespiegeltzwei Orte auf gleichem Stand halten

Für Dateien, bei denen jede Änderung zählt, etwa eine Passwortdatenbank, ist bisync die richtige Wahl. Es erkennt, wenn sich beide Seiten geändert haben, und behält beide Versionen, statt eine stillschweigend zu überschreiben.

Konfiguration

[rclone]
bin = "rclone"

[[sync_pairs]]
name = "Dokumente"
type = "bisync"
source = "/local/documents"
destination = "remote:documents"
excludes = ["*.tmp", "node_modules/"]

[[sync_pairs]]
name = "Medien-Backup"
type = "copy"
source = "/local/media"
destination = "remote:media"

Standardmässig liegt die Datei unter ~/.config/rcmate/config.toml. Über Kommandozeilenoptionen lassen sich Konfigurationspfad, rclone-Programm, rclone-Konfiguration, Arbeitsverzeichnis und Log-Level überschreiben.

Tastatur

TasteAktion
↑ / ↓Auswahl bewegen
Leertaste / aEin Paar / alle Paare auswählen
Ctrl+SAusgewählte Paare starten
Ctrl+A / ePaar hinzufügen / markiertes Paar bearbeiten
oOptionen des markierten Paars
pFortschritt pro Datei
Alt+EFehler des markierten Paars anzeigen
qBeenden

Erste Schritte

Installieren Sie rclone und richten Sie Ihre Remotes mit rclone config ein. Laden Sie RCMate dann von der Release-Seite herunter oder bauen Sie es mit cargo build --release aus dem Quellcode.

Schalten Sie vor dem ersten echten Lauf eines sync-Paars die Option dry_run ein, um zu sehen, was sich ändern würde. Ein bisync-Paar braucht einen ersten Lauf mit aktiviertem resync, um seinen Ausgangsstand anzulegen. Danach schalten Sie resync wieder aus.

Lizenz

RCMate ist in Rust geschrieben und wahlweise unter MIT oder Apache 2.0 lizenziert.