Wie kopiert man einen Ordner von einem entfernten auf einen lokalen Rechner mit "scp"?
Ich verwende ssh
, um mich bei meinem Server anzumelden.
Dann möchte ich den entfernten Ordner foo
auf den lokalen /home/user/Desktop
kopieren.
Wie kann ich das erreichen?
scp -r [email protected]:/path/to/foo /home/user/Desktop/
Von man scp
(Siehe Online-Handbuch)
-r Rekursives Kopieren ganzer Verzeichnisse
Um die volle Leistungsfähigkeit von scp zu nutzen, müssen Sie die folgenden Schritte ausführen:
Dann, wenn Sie zum Beispiel diese ~/.ssh/config haben:
Host test
User testuser
HostName test-site.com
Port 22022
Host prod
User produser
HostName production-site.com
Port 22022
ersparen Sie sich die Passworteingabe und vereinfachen die scp-Syntax wie folgt:
scp -r prod:/path/foo /home/user/Desktop # copy to local
scp -r prod:/path/foo test:/tmp # copy from remote prod to remote test
Außerdem können Sie die Remote-Pfadvervollständigung verwenden:
scp test:/var/log/ # press tab twice
Display all 151 possibilities? (y or n)
Aktualisierung:
Um die entfernte Bash-Vervollständigung zu aktivieren, müssen Sie die Bash-Shell sowohl auf dem <Quell>
- als auch auf dem <Ziel>
-Host haben und die Bash-Vervollständigung muss korrekt funktionieren. Für weitere Informationen siehe verwandte Fragen:
Wie aktiviert man die automatische Vervollständigung für entfernte Pfade bei der Verwendung von scp?
SCP-Dateinamen-Tabulatorvervollständigung
Besser ist es, den Katalog zuerst auf dem entfernten Server zu komprimieren:
tar czfP backup.tar.gz /path/to/catalog
Zweitens: Herunterladen von der Gegenstelle:
scp [email protected]:/path/to/backup.tar.gz .
Anschließend entpacken Sie die Dateien:
tar -xzvf backup.tar.gz