Wenn man beispielsweise eine MySQL-Tabelle von einem Master Server zum Slave übertragen muss und diese Tabelle schon eine stattliche Größe angenommen hat, macht man sich durchaus Gedanken, wie man den Datenübertrag am sinnvollsten bewerkstelligt.
Datenübertrag per WinSCP
Wer sich zwischen der Windows und der Linux-Welt bewegt, kennst sicherlich das Windows-Tool WinSCP. Mit diesem Tool kann von einem Windows-Rechner per grafischer Benutzeroberfläche auf einen Linux-Server zugegriffen werden. Auch der Datenaustausch zwischen beiden Rechnern ist möglich. Wenn allerdings von einem Linux-Recher zum Anderen die Verbindung erfolgen soll, müsste man die Daten zuerst auf Windows-Rechner zwischengespeichert werden, was in den meisten Fällen weniger sinnvoll ist. Positiv anzumerken ist, dass WinSCP auch ein abgebrochener Upload selbstständig wieder aufnimmt.
Datenaustausch mittels SCP (Secure Copy)
Der direkte Weg zur Datenübertragung zwischen zwei Linux-Rechnern sollte per SCP (Secure Copy) erfolgen. Die Übertragung erfolgt verschlüsselt vom Quell- zum Zielserver. Beginnend vom Quellserver gilt folgende Befehlskette:
scp -r orig_directory USERNAME@machine2:destination_directory
Der Parameter “-r” veranlasst SCP das angegebene Directory rekursiv zu übertragen. Wenn man nur eine einzelne Datei übertragen möchte, kann dieser Parameter weggelassen werden.
Nach Absetzen des Befehles nimmt SCP Kontakt zum Zielserver auf. Danach erfolgt die Abfrage des Passwortes (von USERNAME) und der Übertrag beginnt.
NACHTEIL: Leider kann ein abgebrochener Upload mittels SCP nicht wieder aufgenommen werden. Da gemäß Murphys Gesetz der stundenlange Upload meist bei 99 Prozent abbricht, ist dies ein sehr ärgerlicher Nachteil. Wie man den Abbruch eines Uploads umgehen kann, kann im Artikel „Upload mit SCP abgebrochen, was nun?“ nachgelesen werden.
Dateien unter Linux zippen (komprimieren)
Die bekannteste Komprimierungsform unter Windows ist sicherlich ZIP. Auch unter Linux ist ZIP erhältlich, wenn auch nicht in jeder Distribution vorhanden. In den Linux-Paketen ist der Zipper jedoch meist integriert, so dass die Installation schnell und einfach erledigt ist.
Um ein Directory zu zippen, genügt folgender Befehl:
zip -r archive_name.zip directory_to_compress
Um eine Datei zu entpacken, genügt:
unzip archive_name.zip
Dateien packen mittels TAR.GZ
Verbreiteter als der Zipper ist in der Linux-Welt sicherlich tar.gz. Glaubt man einigen Meinungen im Internet (die ich nicht in Frage stelle), erreicht dieser Zipper wesentlich bessere Komprimierungsraten und schon die CPU beim zippen im Gegensatz zum Zipper.
Um ein Verzeichnis zu zippen, wählt man:
tar -zcvf archive_name.tar.gz directory_to_compress
Zum Entpacken im aktuelle Verzeichnis wählt man
tar -zxvf archive_name.tar.gz
Will man seine Daten in einem bestimmten Verzeichnis entpacken, gibt man das Zielverzeichnis explizit an:
tar -zxvf archive_name.tar.gz -C /tmp/extract_here/