Warum es meist zwei Schritte sind
Die meisten Dateiübertragungs-Apps für den Mac behandeln deinen Mac als ein Ende jeder Übertragung. Um einen Ordner von einem Staging-Server in einen S3-Bucket zu bringen, lädst du ihn auf deinen Mac, suchst ihn wieder heraus und lädst ihn in den Bucket hoch. Das heißt doppelt warten, eine Kopie auf deiner Festplatte, die du danach aufräumen musst, und Raum für Fehler, wenn du den falschen Ordner erwischst.
Im Terminal kannst du den Mac bei SSH-Servern umgehen, mit scp zwischen zwei Hosts oder mit rsync auf einem von ihnen. Das klappt, wenn beide Seiten SSH sprechen und du die Befehle kennst. Bei S3, WebDAV oder FTP hilft es nicht.
Von einem Server auf einen anderen kopieren, Schritt für Schritt
- Öffne AnyBucket und drücke ⌘T für einen neuen Tab.
- Drücke ⇧⌘K und verbinde dich mit dem ersten Server, oder drücke ⌘K und tippe ein paar Buchstaben seines Lesezeichens.
- Drücke ⌘\, um einen zweiten Bereich zu öffnen, und wähle im Quellenmenü des Bereichs den anderen Server.
- Drücke ⇥, um zurück in den Quellbereich zu wechseln, und such die Dateien.
- Markiere sie mit der Leertaste, oder drücke + und gib ein Muster wie
*.jpgein, um alle Treffer zu markieren. - Drücke F5, um sie in den anderen Bereich zu kopieren, oder F6, um sie zu verschieben.
Die Übertragung reiht sich unter den Bereichen in die Warteschlange ein, und du kannst weiterarbeiten. Du willst das Ziel wählen, ohne es vorher zu öffnen? ⌘G kopiert die markierten Dateien zu einem beliebigen Lesezeichen oder Ordner, den du in der Palette auswählst, und ⌥⌘G verschiebt sie.
Was mit den Dateien passiert
AnyBucket wählt für jede Übertragung den Weg:
| Quelle und Ziel | Wie die Dateien reisen |
|---|---|
| Dasselbe S3-Konto oder derselbe Speicher | Auf dem Server, mit CopyObject |
| Derselbe WebDAV-Server | Auf dem Server, mit COPY und MOVE |
| Derselbe SFTP-Server, Konto mit Shell | Auf dem Server, mit cp über SSH |
| Zwei verschiedene Server | Durch einen kleinen, begrenzten Zwischenspeicher auf deinem Mac |
| Dieser Mac und ein Server | Direkt hoch- oder heruntergeladen |
Beim Verschieben werden die Dateien kopiert, die Kopie geprüft und erst dann die Originale gelöscht. Nichts wird entfernt, bevor die Kopie da ist.
Zwei beliebige Protokolle kombinieren
Jedes Protokoll funktioniert mit jedem anderen, in beide Richtungen: SFTP, FTP, FTPS, Amazon S3 und S3-kompatible Speicher (Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, Google Cloud Storage, MinIO), WebDAV über HTTP und HTTPS sowie Dieser Mac. Ein paar typische Aufgaben:
- Assets veröffentlichen: von einem SFTP-Webserver in einen S3- oder R2-Bucket.
- Anbieter wechseln: von Amazon S3 zu Cloudflare R2 oder Backblaze B2, Bucket für Bucket.
- Alten Host stilllegen: von einem FTP-Server auf eine WebDAV-Freigabe oder einen neuen SFTP-Server.
In den Tests von AnyBucket wird jedes geordnete Protokollpaar gegen echte Server kopiert und verschoben, von Anfang bis Ende, und jedes Byte geprüft.
Wenn eine Datei schon da ist
Hat das Ziel bereits eine Datei mit demselben Namen, fragt AnyBucket, bevor es etwas überschreibt. Du kannst sie ersetzen, nur ersetzen, wenn deine neuer ist, beide behalten (die Kopie heißt dann name 2.ext), sie überspringen oder eine teilweise kopierte Datei fortsetzen, und die Antwort für den Rest der Übertragung übernehmen. Mehr unter Konflikte.
Große Kopien und abgebrochene Verbindungen
Große Aufträge zwischen Servern können dauern, deshalb ist die Warteschlange darauf ausgelegt, sie zu Ende zu bringen:
- Bei einer abgebrochenen Verbindung oder einem Serverneustart wird nach 1, 3 und 8 Sekunden über eine frische Verbindung erneut versucht.
- Die Warteschlange wird gesichert. Beendest du AnyBucket, kommen unterbrochene Übertragungen beim nächsten Start zurück.
- Prüfsummen werden geprüft, wo immer das Protokoll es erlaubt.
- Schließt du das letzte Fenster, läuft AnyBucket in der Menüleiste weiter, und die Übertragungen ebenso.
Was danach noch fehlschlägt, wartet im Fenster „Übertragungen“ (⌥⌘T) unter Erfordert Aufmerksamkeit, mit seinem Fehler. Siehe Eine Übertragung wurde gestoppt.