Ich hatte gerade eine sehr große Datei (3.3GB), die ich über eine langsame Internetverbindung auf einen Server verschieben wollte. Der Vorgang würde mehrere Stunden dauern. Die Wahrscheinlichkeit, dass der Upload unterbrochen würde, wäre relativ groß. In dem Falle müßte ich nochmal von vorne beginnen. Daher habe ich die Dateien in einzelne Dateien zerlegt. In diesem Artikel erkläre ich, wie man eine große Datei aufteilt und im Anschluss wieder zusammenfügt.
Ich habe eine Datei ergebnisse.zip
, die ich in 10 MB große Stücke zerteilen möchte.
- Um den Erfolg überprüfen zu können, ermittle ich zunächst eine Prüfsumme (Hier: MD5-String) der Ausgangsdatei:
md5sum ergebnisse.zip > ergebnisse.zip.md5
- Mit Hilfe des Programms
split
teile ich die Datei in 10MB große Stücke:split -b 10M ergebnisse.zip ergebnisse_split.zip.
Dadurch werden viele Dateien erzeugt, die folgenden Aufbau haben:
ergebnisse_split.zip.aa ergebnisse_split.zip.ab ergebnisse_split.zip.ac ergebnisse_split.zip.ad ... ergebnisse_split.zip.zy ergebnisse_split.zip.zz
- Nun kann man diese Dateien z.B. per SSH auf einem Server laden:
scp ergebnisse_split.zip.* user@server.domain:~/zielordner
Sollte nun der Vorgang unterbrochen werden, kann man im Anschluss einfach bei der Datei beginnen, bei der der Upload unterbrochen wurde.
- Nach erfolgtem Upload fügt man die Dateien mit Hilfe von
cat
einfach wieder zusammen:cat ergebnisse_split.zip.* > ergebnisse_cat.zip
- Nun muss nur noch geprüft werden, ob die zusammengefügte Datei den gleichen Inhalt wie die Ausgangsdatei hat. Dazu berechnet man erstmal die MD5-Summe:
md5sum ergebnisse_cat.zip > ergebnisse_cat.zip.md5
Wenn alles geklappt hat, stehen in
ergebnisse.zip.md5
undergebnisse_cat.zip.md5
die gleichen MD5-Summen. - Weitere Möglichkeiten findest Du im Wiki von UbuntuUsers.