9
Apr/08
0

Linux: Quick host2host file copy

Heute ein schöner Tipp für das schnelle Kopieren einer Datei unter Linux. Es wird kein FTP, kein HTTP, kein SSH benötigt.

Hier zwei kurze Beispiele:

  1. Eine oder mehrere Dateien in das aktuelle Verzeichnis kopieren:
1
2
host1:$ netcat -lvp <PORT> | tar -xv
host2:$ tar -cv <FILE(S)> | netcat -v <IP/FQDN-HOST1> <PORT>

Die in den spitzen Klammern gefassten Werten müssen durch die entsprechenden Werte ersetzt werden, so z.B. hier:

1
2
host1:$ netcat -lvp 12345 | tar -xv
host2:$ tar -cv file /home/username/.ssh/authorized_keys | netcat -v 192.168.1.2 12345

Was passiert da nun genau?

Host1 ist der Empfänger, mit dem ersten Befehl wird auf Host1 der Port 12345 geöffnet. Es kann natürlich ein beliebiger Port genutzt werden. Einzige Einschränkungen: Der Port darf nicht belegt sein und Ports kleiner als 1024 kann nur Root belegen. Die Empfangenen Daten werden mit tar ausgepackt. Host2 sendet etwas an Host1, mit dem zweiten Befehl werden auf Host2 zunächst eine oder mehrere Dateien in ein Tar-Archiv gepackt und anschließend via netcat über den vorher geöffneten Port 12345 an Host1 geschickt.

  1. Es kann z.B. auch ein Image eines Datenträgers oder einer Partition via dd erzeugt werden:
1
2
host1:$ netcat -lvp 12345 | dd of=/backup/host2-sda1.img
host2:$ dd if=/dev/sda1 | netcat -v 192.168.1.2 12345

Tolle Sache das…

via OpenSUSE Weekly News/17 2008

Comments (0) Trackbacks (0)

No comments yet.

No trackbacks yet.