Drei Schmerzpunkte: Spiegel gleich Release
Erstens: Spiegelziele zeigen direkt auf öffentliche Download-Bäume. rclone hält Ziel und Quelle konsistent, doch falsche Filter oder Löschungen oben wirken sich unten aus. Für iOS- und macOS-Artefakte auf einem Remote Mac gehört zuerst Staging, dann der Symlink-Wechsel aus dem atomaren Release-Muster.
Zweitens: internal-sftp und falsche Tool-Annahmen. Chroot-Konten ohne Shell funktionieren mit rclone SFTP, doch Befehlsausführung auf dem Server vorauszusetzen endet in Timeouts. Prüfen Sie Eigentümer und Jail-Wurzel wie im Chroot-Multimandanten-Leitfaden.
Drittens: Geheimnisse in rclone.conf. Interaktive Konfiguration auf Self-Hosted-Runnern hinterlässt Dateien für den nächsten Job. Handeln Sie wie im CI-Credential-Artikel: kurzlebige Schlüssel und Umgebungstrennung.
Ergänzung: Trennen Sie Spiegel- und Upload-Identitäten, stimmen Sie parallele SFTP-Sitzungen mit rclone --transfers ab. Spiegeln Sie nicht direkt auf current. Geheime Konfigurationen gehören nicht ins Git. Bastion und Zertifikate erfordern ProxyJump im Remote.
Fähigkeiten: rclone, rsync über SSH, interaktives SFTP
rsync über SSH bleibt Standard für inkrementelle Artefakte zwischen bekannten Pfaden. Interaktives SFTP dient der manuellen Analyse. rclone vereinheitlicht S3-kompatible und andere Backends. Auf einem einzelnen Remote Mac-Ingress ergänzt rclone rsync, ersetzt es nicht.
SFTP-Remotes folgen Ihrer Public-Key-, Zertifikats- und Bastion-Realität. Checksummen-Flags unterstützen nur, ersetzen aber keine Freigabe aus dem Integritätsleitfaden.
Read-only-Spiegel planen Sie per Cron, getrennt von CI-Schreibpfaden.
Entscheidungsmatrix
Dokumentieren Sie Richtung, Konten, Präfixe, Löschrecht und atomare Anbindung im Ticket.
| Szenario | Werkzeug | Risiko | Link |
|---|---|---|---|
| CI schiebt in releases-Staging | rsync | in-place Halbveröffentlichung | atomar + Integrität |
| Objektspeicher zum Mac-Spiegel | rclone | sync-Löschungen | Chroot + RO-Konto |
| Manuelle Stichproben | SFTP-Client | fehlende Automatisierung | Tooling |
| Multi-Cloud zu einem Mac | rclone + Namenskonvention | zerstreute Secrets | CI + SSH-CA |
Grenzen zwischen Werkzeugen über Unix-Konten und sshd Match fixieren.
Sieben Schritte für ein SFTP-Remote
Testpfade nutzen, Secrets nur joblokal halten.
# 1 internal-sftp und Präfix laut Chroot-Leitfaden
# 2 Kurzlebige ed25519 in RUNNER_TEMP
rclone config create mac_sftp sftp host sftp.example.com user mirror_ro key_file "$RUNNER_TEMP/ci_ed25519" shell_type none
rclone lsd mac_sftp:uploads
rclone copy ./marker.txt mac_sftp:uploads/ci_probe/ -v
rclone copy ./assets mac_sftp:assets_mirror/ --transfers 4 --checkers 8 --sftp-connections 2 -v
# sync nur mit Dry-Run und Lösch-Audit
Öffentliche Bäume bevorzugt mit copy statt sync füttern.
Kennzahlen
Start mit --transfers 4, dann sshd-CPU und RTT beobachten. Produkt aus Checkern und SFTP-Verbindungen innerhalb des Sitzungsbudgets halten. ServerAliveInterval 60 auf WAN-Pfaden. SHA256-Manifeste bleiben eigenes Release-Gate.
Hoher Betriebsaufwand bei vielen Eingängen spricht für SFTPMAC-gehostete Remote-Macs, die Ingress und Mandantenisolation bündeln.
FAQ
Ersetzt rclone rsync im CI-Release?
Nur wenn atomare Verzeichnissemantik nachgebaut wird; meist rsync für Delta, rclone für Spiegel.
Getrennte Konten?
Verhindert, dass Spiegeljobs Release-Pfade überschreiben und verbessert Auditierbarkeit.
Fazit: Werkzeuge ergänzen sich; Grenzen und Integrität machen Sync auditierbar.
Grenze: DIY-Multimandant frisst Zeit; SFTPMAC bündelt Isolation.
Kapazität und Betrieb: Erwarteten Durchsatz pro Stunde, parallele Pipelines und Spiegel-Zeitfenster dokumentieren, bevor Sie --transfers oder MaxSessions erhöhen. rclone-Logs mit sshd-Authentifizierungszeilen korrelieren (Principal, Präfix, Run-ID). Handshake-P95 getrennt für gehostete und selbst-gehostete Runner messen; bei Objektspeicher-Lebenszyklen keine Löschungen ohne Change-Ticket in release-sichtbare Bäume propagieren.
Pläne prüfen, wenn Spiegel und rsync-Releases auf isolierten Remote-Macs zusammenlaufen sollen.
