Ich bin gerade umgezogen und habe nach einigem Ausprobieren festgestellt, dass irgendwo zwischen meinem Zuhause und meinem Remote-Server eine Drosselung stattfindet ... aber die Drosselung ist nicht sehr intelligent. Es werden nur einzelne Verbindungen gedrosselt. Wenn ich also eine 1-GB-Datei kopiere, wird sie fröhlich mit 150 kBit / s fortgesetzt. Wenn ich jedoch 10 Kopien initialisiere, erreicht jede von ihnen 150 kBit / s (dh ich erhalte über mehrere Verbindungen eine viel höhere Gesamtbandbreite).
Ich verwende rsync ziemlich oft, um einige große Datensätze von der Arbeit nach Hause zu synchronisieren (zum Glück in Form vieler Dateien). Gibt es eine Möglichkeit, rsync anzuweisen, über mehrere Verbindungen herunterzuladen? Theoretisch sollte es möglich sein, da rsync, soweit ich das beurteilen kann, zunächst einen Durchgang durchführt, um die erforderlichen Änderungen zu ermitteln, und dann die eigentliche Übertragung durchführt. Bonuspunkte, wenn rsync auf magische Weise angewiesen wird, einzelne Dateien in N Teile zu zerlegen und dann wieder zusammenzufügen. Ich glaube, CuteFTP ist eigentlich schlau genug, um das durchzuziehen.
quelle
GNU Parallel hat eine Lösung .
Ich habe 15 TB durch 1 Gbit / s verschoben und es kann die 1 Gbit / s-Verbindung sättigen.
Das Folgende startet eine rsync pro große Datei in src-dir, um auf dem Server fooserver zu dest-dir:
Die erstellten Verzeichnisse haben möglicherweise falsche Berechtigungen und kleinere Dateien werden nicht übertragen. So beheben Sie, dass rsync ein letztes Mal ausgeführt wird:
quelle
Ja. Ein solches Merkmal existiert.
Es gibt ein Hilfsprogramm namens pssh , das die beschriebene Funktionalität bereitstellt.
Ich bin mir nicht sicher, wie einfach das Einrichten ist, aber vielleicht reicht es!
quelle
Ich kann keinen Kommentar abgeben, daher habe ich eine neue Antwort hinzugefügt, die einen etwas besseren Code enthält als der vorherige (nette und intelligente) Code.
Überprüfen Sie die
rsync
Zeile, da sie eine optionaleionice
Optimierung enthält .quelle
Es sieht so aus, als hätte jemand dieses Dienstprogramm für Sie geschrieben. Die Übertragung wird in parallele Abschnitte aufgeteilt. Dies ist eine bessere Implementierung als die unter GNU Parallel aufgeführte "Parallel Big File" -Version:
https://gist.github.com/rcoup/5358786
Außerdem kann LFTP Dateiübertragungen über FTP, FTP, HTTP, HTTPS, HFTP, FISH, SFTP parallelisieren. Häufig bietet die Verwendung von LFTP einige Vorteile, da das Verwalten von Berechtigungen, der eingeschränkte Zugriff usw. für rsync eine Herausforderung sein kann.
quelle
Nein, es gibt keine solche Funktion. Sie können die Synchronisierung in mehrere Anrufe aufteilen,
rsync
wenn Sie dies wirklich möchten.Ich würde vorschlagen, dass Sie herausfinden, was auch immer diese Geschwindigkeitsbegrenzung bewirkt, und sich ernsthaft mit demjenigen unterhalten, der sie verwaltet.
quelle
Ich wollte mehrere Verzeichnisse (mit vielen Dateien) gleichzeitig übertragen, also habe ich dieses kleine Skript erstellt:
Ich habe dieses Skript sehr schnell erstellt. Bitte überarbeiten und testen Sie es, bevor Sie es in einer Produktionsumgebung verwenden.
quelle
Ich habe das folgende Skript erstellt, um viele Ordner mit Bildern parallel hochzuladen. Sie führen es zuerst mit dem Synchronisierungsziel und dann mit allen zu kopierenden Ordnernamen aus.
Der Ordnername wird in allen rsync-Konsolenausgaben gelb vorangestellt, damit er hübsch aussieht.
quelle
Aria2 ist ein gutes Client-Programm zum Herunterladen von Daten über viele Verbindungen von vielen Spiegeln. SFTP wird nicht unterstützt. Also habe ich FTP-Server installiert - vsftpd . Meine 3G-Verbindung funktioniert mit voller Leistung mit 5 Verbindungen zum FTP-Server.
quelle