• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> Klick

Kopieren ohne Verlustrisiko

peters1

Châtaigne du Léman
Registriert
15.07.09
Beiträge
819
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?
 

ottomane

Golden Noble
Registriert
24.08.12
Beiträge
16.432
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?
 

bml

Prinzenapfel
Registriert
26.04.06
Beiträge
554
Was spricht dagegen, erst einmal alles zu kopieren, meinetwegen mit Abfrage des Returncodes, und wenn das ok ist, alles zu löschen?
 

peters1

Châtaigne du Léman
Registriert
15.07.09
Beiträge
819
Was spricht dagegen, erst einmal alles zu kopieren, meinetwegen mit Abfrage des Returncodes, und wenn das ok ist, alles zu löschen?
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.
 

peters1

Châtaigne du Léman
Registriert
15.07.09
Beiträge
819
Hat die Platte eine zu schwache Stromversorgung?
Nutzt du ein schlechtes/zu langes USB-Kabel oder einen schlechten Hub?
Ich habe beide Platten direkt am USB3-Port des MacBook Air. Sollte ausreichen (sind 2,5-Zöller). Trotzdem haben die manchmal Probleme.
 

ottomane

Golden Noble
Registriert
24.08.12
Beiträge
16.432
Ich habe beide Platten direkt am USB3-Port des MacBook Air. Sollte ausreichen (sind 2,5-Zöller). Trotzdem haben die manchmal Probleme.

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.
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
cp -f <irgendwas> <irgendwo> && rm -f <irgendwas>
Schlägt die Kopie fehl (beendet mit Returnwert != 0 ), wird so nichts gelöscht.
 
  • Like
Reaktionen: peters1

bml

Prinzenapfel
Registriert
26.04.06
Beiträge
554
Ich dachte, dass mv genau so arbeitet.
 

ottomane

Golden Noble
Registriert
24.08.12
Beiträge
16.432
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.
 

peters1

Châtaigne du Léman
Registriert
15.07.09
Beiträge
819
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.
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.