Forum: PC Hard- und Software Linux Kommandozeile: Wie abgebrochenes "cp -avRp" fortsetzen?


von Gerhard (Gast)


Lesenswert?

Moin,

folgendes Problem: Ich kopiere riesige Datenbestände (Millionen Dateien) 
zwischen zwei Raid-Arrays. Leider ist mir zwischendurch bei dem einen 
der Netzwerkstecker rausgefallen (übers Kabel gestolpert). Dadurch ist 
natürlich der Kopierbefehl abgebrochen worden.

Was für Möglichkeiten gibt es, außer kpl. neu zu starten? Das würde 
nämlich ca. 50 Stunden dauern. Ach ja, abgebrochen habe ich natürlich 
nicht nach drei Stunden, sondern nach 45.

Ich bräuchte jetzt eine sinnvolle und effiziente Methode, mit der ein 
Kopier-Befehl vorher nicht nur prüft, ob die Datei schon vorhanden ist, 
sondern auch, ob sie die gleiche Größe hat, und nur dann kopiert, wenn 
sie entweder noch nicht da ist oder zu klein ist.

von T.M. (Gast)


Lesenswert?

Für sowas nimmt man doch rsync. So zB mache ich inkrementelle Backups 
meines Servers:
1
rsync -av --progress --delete --exclude=.... fileserver/ /media/fileserver-backup/

-a heißt archive mode
-v verbose mode
--progress zeigt den Verlauf an
--delete löscht auf dem Ziel Dateien, die auf der Quelle nciht mehr 
vorhanden sind
--exclude läßt angegebene Ordner von der Sicherung aus

Näheres erfährst du in der Manpage.

von Troll (Gast)


Lesenswert?

Bei rsync keinesfalls Quelle und Ziel vertauschen!

von Axel L. (axel_5)


Lesenswert?

cp -avrPu

-u prüft ob die Datei auf dem Ziel älter ist, bevor er sie kopiert.

Gruss
Axel

von T.M. (Gast)


Lesenswert?

Naja, bei einem Backup wird wohl die Zieldatei kaum neuer als die 
Quelldatei sein ;-)

von Axel L. (axel_5)


Lesenswert?

>Naja, bei einem Backup wird wohl die Zieldatei kaum neuer als die
>Quelldatei sein ;-)

Nö, ist schon korrekt:

Der Sinn beim -u ist hier, dass die neue Datei nur dann kopiert wird, 
wenn sie noch nicht existiert oder wenn die Date auf dem Backupmedium 
einen älteren Zeitstempel hat (die Quelldatei also seit dem letzten 
Backup verändert wurde)

Gruss
Axel

von T.M. (Gast)


Lesenswert?

Okay, das ist bei Systembackups auf jedenfall sinnvoll, stimmt. Da mein 
Server nur Filme und Musik beinhaltet, brauche ich die Option nicht 
zwingend, schaden kann sie natürlich auch nicht.

von Reinhard S. (rezz)


Lesenswert?

Axel Laufenberg schrieb:
>>Naja, bei einem Backup wird wohl die Zieldatei kaum neuer als die
>>Quelldatei sein ;-)
>
> Nö, ist schon korrekt:
>
> Der Sinn beim -u ist hier, dass die neue Datei nur dann kopiert wird,
> wenn sie noch nicht existiert oder wenn die Date auf dem Backupmedium
> einen älteren Zeitstempel hat (die Quelldatei also seit dem letzten
> Backup verändert wurde)

Könnte natürlich sein, das dadurch der komplette Kopiervorgang länger 
dauern wird als ohne diese Option...

von Axel L. (axel_5)


Lesenswert?

>Könnte natürlich sein, das dadurch der komplette Kopiervorgang länger
>dauern wird als ohne diese Option...

Wieso denn das ?

Es werden nur die Dateien kopiert, die tatsächlich neu sind. Alle 
anderen nicht.

Wie soll das länger dauern ?

Gruss
Axel

von Uhu U. (uhu)


Lesenswert?

Nur wird das mit den Zeitstempeln womöglich bei einer Datei nicht 
hinhauen: die, die gerade in Arbeit war, als die Verbindung abbrach.

Ich würde hinterher über beide Dateibäume eine md5-Summe berechnen und 
die Summendateien vergleichen.

von T.M. (Gast)


Lesenswert?

Das gibt auch als Option, dass rsync statt Zeitstempel die Prüfsummen 
vergleicht.
1
rsync -c ....

von Supergast (Gast)


Lesenswert?

Also wenn ich mal nachrechne, 17:00 Feierabend - 8:00 arbeitsbeginn, 
macht 63 Stunden bis Montag früh. Alles löschen, komplett neu kopieren 
und ins Wochenende gehen :-)

rsync ist aber auch nicht verkehrt...

von Sam Spade (Gast)


Lesenswert?

nimm rsnapshot.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.