it-swarm.com.de

Rsync-Fehler 23: Kann ich feststellen, welche Dateien nicht übertragen wurden?

Ich habe Sudo rsync -va --progress Vom Stammverzeichnis eines externen Laufwerks in einen Ordner auf einem anderen externen Laufwerk ausgeführt. Der Grund ist, dass das Quelllaufwerk ein fehlerhaftes NTFS hat und ich keinen Zugriff auf einen Windows-PC habe, um das NTFS zu reparieren.

10 Stunden später hieß es:

sent 608725204596 bytes  received 19365712 bytes  15902210.53 bytes/sec
total size is 608586212274  speedup is 1.00
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(992) [sender=2.6.9]

Ich habe den gesamten Terminalausgang gespeichert. Zu Beginn gibt es ein paar hundert Input/output error (5) für Dateien, die ich eigentlich nicht brauche, insgesamt ungefähr 2 GB. OSX Finder "Festplattennutzung" sagt mir, dass die Quelle 617 Milliarden Bytes ist, nicht 608 wie im obigen Bericht.

Fragen:

  1. Sagt der erste Teil der ausführlichen Ausgabe (Erstellen einer Dateiliste) definitiv Input/output error (5) für JEDE Datei, die nicht kopiert wird?
  2. Bedeutet code 23, Dass alle Dateien außer den Input/output error (5) erfolgreich kopiert wurden?
34
themirror

23 Bedeutet nur (von der Manpage):

23 Teilübertragung aufgrund eines Fehlers

Für alles, was nicht übertragen werden konnte, erhalten Sie eine Fehlermeldung. Beachten Sie, dass es sich bei den Fehlermeldungen möglicherweise um das Öffnen oder Lesen von Verzeichnissen handelt, sodass nicht unbedingt für jede Datei, die nicht übertragen werden konnte, eine Fehlermeldung angezeigt wird.

Wenn sich Ihre Quelle nicht geändert hat, können Sie rsync erneut mit -n Ausführen, um zu sehen, was diesmal übertragen wird, ohne die Übertragung tatsächlich durchzuführen.

Über den Byte-Unterschied gibt rsync die Größe der Dateien an (wie viele Daten daraus gelesen werden können). Sind Sie sicher, dass Finder Ihnen nicht stattdessen Festplattennutzung sagt?

Beachten Sie auch, dass NTFS Daten in alternativen Streams oder Attributen der Dateien speichern kann und rsync diese normalerweise nicht überträgt (nicht kennt) (und das kann eine Menge ausmachen) Gut).

22

Sie können die fehlerfreie Ausgabe von rsync mit dem Flag -q Von rsync stumm schalten.

-q, --quiet                 suppress non-error messages

Wenn Sie rsync erneut mit dem Flag -q Ausführen, schlägt rsync wahrscheinlich immer noch fehl, aber zumindest dieses Mal werden alle Fehlermeldungen, die Ihr Problem verursachen, nicht unter Zeilen und Zeilen mit Statusmeldungen zur Dateiübertragung vergraben.

18
Grimtech

Betreff: Fehler 23 - Der häufigste Grund für diesen Fehler besteht darin, einen kleinen Tippfehler in die rsync-Quelle einzugeben. Sehen Sie sich Ihren Quellbefehl an und stellen Sie sicher, dass alles gegen ls überprüft wird, und suchen Sie nach dummen subtilen Dingen wie einem zusätzlichen Leerzeichen oder einem 1-l-Problem.

4
blut swaan