Kopieren ohne Verlustrisiko

Dieses Thema im Forum "macOS & OS X" wurde erstellt von peters1, 05.04.16.

Schlagworte:
  1. peters1

    peters1 Strauwalds neue Goldparmäne

    Dabei seit:
    15.07.09
    Beiträge:
    637
    Hallo,
    ich habe mir eine kleine Batchdatei generiert, die mit dem Befehl MV (move) Dateien von einer Platte auf eine andere verschiebt. Leider bricht ab und zu die Verbindung (USB) zur Platte ab. Dadurch verliere ich i.d.R. 5 - 6 Dateien. Ich vermute, die Kopieraktion ist im Cache und soll noch ausgeführt werden. Für das OS ist der Job abgeschlossen und es wird das Original gelöscht. Allerdings kann bei fehlender Verbiindung nicht mehr geschrieben werden, so dass im Original die Dateien gelöscht sind, auf dem Ziellaufwerk aber nicht geschrieben wurden.

    Gibt es eine Option, die das verhindert? Oder einen anderen Befehl, der wirklich nur dann löscht, wenn erfolgreich auf das Ziellaufwerk geschrieben wurde?
     
  2. ottomane

    ottomane Laxtons Superb

    Dabei seit:
    24.08.12
    Beiträge:
    9.481
    Normalerweise sollte das bei mv nicht passieren. mv nutzt in deinem Fall cp und rm. Aus der Manpage:

    "As the rename(2) call does not work across file systems, mv uses cp(1) and rm(1) to accomplish the move."

    Aber nun gut.

    Anstatt nach einer anderen Verschiebeaktion zu suchen, würde ich versuchen, die Ursache des Problems zu lösen:

    Hat die Platte eine zu schwache Stromversorgung?
    Nutzt du ein schlechtes/zu langes USB-Kabel oder einen schlechten Hub?
     
  3. bml

    bml Adams Apfel

    Dabei seit:
    26.04.06
    Beiträge:
    511
    Was spricht dagegen, erst einmal alles zu kopieren, meinetwegen mit Abfrage des Returncodes, und wenn das ok ist, alles zu löschen?
     
  4. peters1

    peters1 Strauwalds neue Goldparmäne

    Dabei seit:
    15.07.09
    Beiträge:
    637
    Ich möchte ein Wiederaufsetzt-Script. Sollte etwas passieren, brauche ich es nur noch einmal zu starten und es sollte dort weitermachen, wo es aufgehört hat. Wenn MV eine EInheit wäre kein Problem. So müsste ich auch die letzte Datei auf Datenintegrität testen.
     
  5. peters1

    peters1 Strauwalds neue Goldparmäne

    Dabei seit:
    15.07.09
    Beiträge:
    637
    Ich habe beide Platten direkt am USB3-Port des MacBook Air. Sollte ausreichen (sind 2,5-Zöller). Trotzdem haben die manchmal Probleme.
     
  6. ottomane

    ottomane Laxtons Superb

    Dabei seit:
    24.08.12
    Beiträge:
    9.481
    Hast du sie gleichzeitig an den jeweiligen Ports laufen? Wenn sie jeweils einzeln fehlerfrei (oder mit zusätzlicher Stromversorgung, ggf. durch einen aktiven Hub) laufen, könnte dies die Ursache sein:

    Ich könnte mir vorstellen, dass das für das MBA zu viel ist. Das wären bis zu 1,8 Ampere, also schlimmstenfalls bis zu 9,9 Watt.
     
  7. Rastafari

    Rastafari deaktivierter Benutzer

    Dabei seit:
    10.03.05
    Beiträge:
    18.151
    cp -f <irgendwas> <irgendwo> && rm -f <irgendwas>
    Schlägt die Kopie fehl (beendet mit Returnwert != 0 ), wird so nichts gelöscht.
     
    peters1 gefällt das.
  8. bml

    bml Adams Apfel

    Dabei seit:
    26.04.06
    Beiträge:
    511
    Ich dachte, dass mv genau so arbeitet.
     
  9. ottomane

    ottomane Laxtons Superb

    Dabei seit:
    24.08.12
    Beiträge:
    9.481
    Es können, so glaube ich, trotzdem Verluste eintreten, wenn der Strom nicht reicht und der Schreibcache aktiviert ist. Wenn die Daten im Schreibcache der Platte angekommen sind, gibt es ein OK, bevor sie weggeschrieben sind. Wenn dann der Strom zum Wegschreiben nicht reicht, sind sie futsch.
     
  10. peters1

    peters1 Strauwalds neue Goldparmäne

    Dabei seit:
    15.07.09
    Beiträge:
    637
    Ich habe Sie an den beiden USB-Ports, jeder an einem. Da ich das Zeug auf Reisen nutze, möchte ich so wenig wie möglich mitschleppen. Daher auch 2,5-Zöllrt, die aus dem MB versorgt werden.
     
  11. peters1

    peters1 Strauwalds neue Goldparmäne

    Dabei seit:
    15.07.09
    Beiträge:
    637
    Das sieht sehr gut aus! Ist gekauft. :)