Linux für Dummys: Verzeichnis packen/zippen

Wer mal größere Webprojekte auf einen anderen Server umziehen musste kennt das Problem: Verbindungsabbrüche bei SCP oder FTP noch und nöcher...

Welche von den insgesamt 98.721 Dateien die man in einem drei Tage andaurnden FTP-Marathon heruntergeladen hat wurde jetzt richtig übertragen und welche nicht? Spätestens wenn man hier in den Bereich mehrerer Gigabytes kommt, wird es haarig.
Klar - gibt es FTP-Programme die das ganze validieren, aber auch hier wird es ab einer bestimmten Projektgröße nicht mehr handlebar und FXP ist aus sicherheitstechnischen Gründen von den meisten Hostern (verständlicherweise) nicht aktiviert.
Problem ist hier weniger die Dateigröße vielmehr die schiere Anzahl. Steht der Server dann noch im Ausland wo man statt 80ms 350ms Latenz hat (wie zur Zeit hier in Neuseeland), kann man dieses Unterfangen getrost vergessen.
Hier zahlt es sich dann (wieder mal) aus, wenn man auch als Webentwickler zu den Menschen gehört die zumindestens rudimentäre Shellkenntnisse in Linux besitzen. ICH gehöre nicht dazu. Aber ich weiß wie man eine Suchmaschine bedient... ;).
Die Console ist für Webentwickler ein mächtiges Werlzeug - auch für Gelegenheitsanwender


Denn weitaus effektiver ist es, wenn man die Verzeichnisse unter Linux einfach kurz packt, am Stück herunterlädt und dann (nach einem eventuellem Upload) wieder entpackt. Das erspart einem zwar nicht einen Erneuten Download bei Verbindungsabbruch, man kann aber wenigstens sicherstellen, dass man alles an Bord hat... Noch eleganter wird es dann wenn man das ganze dann per Konsole direkt zwischen den zwei Servern übertragen kann - doch darauf gehe ich vielleicht mal in einem anderen Blogeintrag ein.

Am besten nimmt man hier das unter Linux gebräuchlichste Format tar bzw tar.gz. Um dieses Format zu entpacken empfehle ich das Programm 7zip (http://www.7-zip.org/). Es ist kostenlos(Open Source), für alle Plattformen verfügbar und es akzeptiert so ziemlich jedes Format (die Benutzeroberfläche ist manchmal etwas umständlich, aber von der Funktionalität her ist mir auch keine kommerzielle Lösung bekannt die hier mehr bietet).

Unter Linux selber benötigt man allerdings keine gesonderte Software, sondern lediglich einen einfachen Shellbefehl:

Code: Alles auswählen
tar cfvz dateiname.tar.gz verzeichnisname/


Will man also zum Beispiel bei einem Confixx Account das Web kopieren (liegt unter Linux z.B, unter /var/www/web58/html/ oder /home/www/web58/html/) wäre die Vorgehensweise folgende:
Code: Alles auswählen
cd ..
cd /var/www/web58/
tar cfvz web17_backup.tar.gz html/


Hier wird davon ausgegangen dass der Webroot unter /html liegt. Nun kann man die gerade erstellte Datei dann noch mit...
Code: Alles auswählen
mv web17_backup.tar.gz /html

...in den Webroot kopieren, um sie dann per Browser runterladen zu können (nur empfehlenswert, wenn man sie danach wieder löscht, sonst besteht ein großes Sicherheitsproblem, da bei den meisten Scripten Passwörter unverschlüsselt in den Dateien stehen).

Entpacken unter Linux (auf dem neuen Server) ist dann noch einfacher:
Code: Alles auswählen
tar xfvz web58_backup.tar.gz


Fragt mich nicht wofür die Kürzel cfvz und xfvz stehen - ich weiß es nicht und es ist mir auch ehrlich gesagt ziemlich egal (wozu gibt es Blog-Kommentare). Mit tar kann man bestimmt eine Menge machen. Aber ich habe bisher immer nur diese beiden Befehle benötigt - also primitives Blackbox-Wissen, ohne zu wissen was und warum da passiert.
Aber ich bin Programmierer und kein Systemadministrator.




loading




BBcode für diesen Artikel:


HTML-Code mit Link zu diesen Artikel:
Diese Seite zu Mister Wong hinzufügen   Delicious