Ich versuche, den Inhalt eines fehlerhaften USB-Sticks zu kopieren. Wenn ich die Daten zu schnell lese, überhitzt sich der Controller-Chip des Laufwerks und das Laufwerk verschwindet aus dem System. In diesem Fall muss ich das Laufwerk ausstecken, etwa eine Minute warten, bis es abgekühlt ist, es wieder einstecken und den Kopiervorgang erneut starten.
Ich habe eine alte Sicherungskopie des Laufwerkinhalts, daher ist es naheliegend rsync
, die Sicherungskopie mit den restlichen Daten auf den neuesten Stand zu bringen. Dies führt jedoch dazu, dass "zu schnell gelesen wird, das Laufwerk verschwindet" und ich muss von vorne anfangen. Kann man sagen rsync
, dass nur X Megabyte Daten pro Minute gelesen werden? Ist es alternativ möglich, ihn anzuweisen, Vorgänge anzuhalten, wenn das Laufwerk verschwindet, und fortzufahren, wenn es wieder eingesteckt wird?
Antworten:
Im Gegensatz zu DopeGhotis Erfahrung schränkt das
--bwlimit
Flag die Datenübertragung mit meinem rsync (v3.1.2) ein.Prüfung:
(Hinweis: Meine
time
Ausgabe unterscheidet sich von den meistentime
Aufrufen (zsh
Funktion). Diese Zeiten wurden nicht von mir bearbeitet.)Sonst vielleicht etwas in der Art eines Double-
-exec
Infind
. Ich glaube , dasrsync -R
sollte die übergeordneten Ordner erstellen und kopieren, aber wenn nicht, danncp --parents
sollte.Hinweis : Schauen Sie sich auch ddrescue an , es könnte richtig sein, wonach Sie suchen :)
quelle
--bwlimit=KBPS limit I/O bandwidth; KBytes per second
keine Erwähnung des Netzwerks. Beiläufig den Code durchsuchen, schränkt dies die Lesegeschwindigkeit, unabhängig von Ziel. Plus Anekdote: Ich benutze diese Option seit Jahren , um die Schreibgeschwindigkeit von lokal zu lokal zu begrenzen. linux.die.net/man/1/rsyncio.c
, Zeilen 832-3:if (bwlimit_writemax) sleep_for_bwlimit(n);
In jedem Fall würde dies wahrscheinlich wie beabsichtigt funktionieren, kurze Bursts einlesen und dazwischen schlafen. Ich würde empfehlen, mit einem niedrigen Wert zu beginnen und vorsichtig zu erhöhen, oder einfach die langsame Übertragung über Nacht laufen zu lassen.Ein bisschen wie eine MacGyver-Lösung, aber ich hatte in der Vergangenheit gute Erfolge damit:
Stecken Sie einen alten USB-1-Hub zwischen den Stick und den Computer. Auf keinen Fall wird es so schnell kopieren :-)
Andere Möglichkeit: Wenn Sie einen anderen Stick zur Verfügung haben, schließen Sie ihn an einen anderen USB-Port an, der mit demselben Root-Hub verbunden ist (damit er die Bandbreite mit Ihrem Problem-Stick teilt).
Starten Sie jetzt einen großen Schreibvorgang für den zusätzlichen Stick, damit beide Sticks um Bandbreite konkurrieren. Zur weiteren Kontrolle können Sie ionice verwenden , um die Priorität des Problemsticks noch weiter zu verringern .
quelle
Mithilfe von können Sie
rsync --bwlimit=RATE
die Dateiübertragungsgeschwindigkeit drosseln. Basierend auf den folgenden Kommentaren scheint dies tatsächlich zu funktionieren, indem Sie die Lesegeschwindigkeit der Daten drosseln, genau das, wonach Sie suchen.quelle
ionice
? linux.die.net/man/1/ionice--bwlimit
Legt ein E / A-Limit fest, nicht unbedingt ein Netzwerklimit . In verschiedenen Szenarien mehrfach getestet: Mit dieser Option beschränkt sich rsync auf das Lesen , unabhängig vom Ziel. (Dies wurde in einem ähnlichen Szenario herausgefunden, in dem schnelle Schreibvorgänge auf einem langsamen lokalen Gerät zumWeitere Lösungen zusätzlich zum
rsync --bwlimit=100
für 100KiB / s.Verwenden Sie
ddrescue
mit der--max-read-rate
Option für eine vollständige Festplattenkopie. Auf diese Weise können Sie auch eine vollständige Datenträgerkopie neu starten, die nach einem Fehler unterbrochen wurde.ddrescue
Es gibt auch viele andere Optionen, die für die Datenwiederherstellung relevant sind. Weitere Informationen finden Sie im Handbuch hier .Verwenden Sie
pv
("Rohrbetrachter") mit der--rate-limit
Option oder demthrottle
Tool, um die Anzahl der Rohre zu begrenzen.pv
kann auch Fortschritte zeigen. Sie können diese Funktion für jedes Tool ausführen, das eine Pipe verwendet, oder Sie können eine Pipe verwenden:oder
Weitere Einstellungen und Beispiele finden Sie auf der Manpage zu pv . Für
throttle
, möchten Sie vielleicht auch ausprobieren-w
Option, die bestimmt , wie die Geschwindigkeit berechnet wird, finden Sie in der Drossel manpage .quelle
pv
Die Manpage enthält noch mehr Beispiele für verschiedene Verwendungszwecke.pv
immer und immer wieder danach gegriffen, seit ich es in meinen Tagen als Tape-Jocker entdeckt habe. Damals, als tar auf Bandlaufwerke schrieb. :)