Linux Kommandozeile: Wie abgebrochenes "cp -avRp" fortsetzen?

Gast #2014034
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.
Gast #2014041
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.
#2014971
>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
Gast #2015003
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.
#2015021
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...
#2015045
>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
#2016342
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.
Gast #2016471
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...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.