Inhaltsverzeichnis
Dateien kopieren mit SCP
Mit dem SCP Befehl (secure copy) werden Daten verschlüsselt zwischen 2 Rechnern übertragen. Hierzu muss auf dem Quell- und Zielrechner SSH installiert sein.
Für die Anmeldung und Verbindung zum Server wird SSH verwendet und für die Übertragung der Daten das SCP-Protokoll. Der Vorteil gegenüber dem FTP-Protokoll ist die Dateiübertragung über eine gesicherte Verbindung, welche per Standard über den SSH-Port 22 erfolgt. Aus Sicherheitsgründen wird dieser aber meist geändert und muss daher mit der Option -P
berücksichtigt werden.
Hier einige Beispiele:
Kopiert die Datei „foobar.txt“ vom Remote-Host zum Local-Host in das Verzeichnis „foo/bar“
$ scp -P {port} {username}@{remotehost}:foobar.txt /foo/bar
Kopiert das Verzeichnis inkl. Unterverzeichnisse „foo“ vom Local-Host zum Remote-Host in das Verzeichnis „foo/bar“
scp -r /foo/ {username}@{remotehost}:foo/bar
Das -r
steht hier für rekursiv und meint, dass alle Dateien und Ordner kopiert werden sollen.
Dateien synchronisieren mit RSYNC
Der Befehl RSYNC
kopiert wie SCP Dateien und Ordner über das Netzwerk. Der wesentliche Unterschied im Gegensatz zu SCP ist, dass nicht nur ganze Dateien kopiert werden, sondern auch Fragmente von Dateien. Ändert sich eine Quelldatei, dann werden nur geänderte Teile der Datei übertragen (Delta-Kodierung).
Kopiert das Verzeichnis inkl. Unterverzeichnisse „foo/bar“ vom Local-Host zum Remote-Host in das Verzeichnis „foo“
rsync -a /foo/bar/ {username}@{remotehost}:foo/bar
Das -a
umfasst mehrere Optionen:
- kopiert alle Unterverzeichnisse
- kopiert symbolische Links
- die Rechte der Quelldatei bleiben erhalten
- die Zeiten der Quelldatei bleiben erhalten
- die Gruppenrechte der Quelldatei bleiben erhalten
- Besitzrechte und Geräterechte der Quelldatei bleiben erhalten (nur bei root)
Kopiert das Verzeichnis inkl. Unterverzeichnisse „foo/bar“ vom Local-Host zum Remote-Host in das Verzeichnis „foo“ mit aktivierter Komprimierung
rsync -za /foo/bar/ {username}@{remotehost}:foo/bar
Die Option -z
aktiviert die Komprimierung und die Dateien werden schneller übertragen. Das setzt allerdings eine schnelle CPU voraus.
Kopiert das Verzeichnis mit aktivierter Komprimierung und einem Fortschrittsbalken
rsync -za -P /foo/bar/ {username}@{remotehost}:foo
Kopiert das Verzeichnis mit aktivierter Komprimierung, einem Fortschrittsbalken und einem abweichenden Port
rsync -za -P -e "ssh -p 234" /foo/bar/ {username}@{remotehost}:foo/bar