it-swarm.com.de

Wie bekomme ich ein gesamtes Verzeichnis in sftp?

Ich lerne gerade sftp und möchte ein Verzeichnis vom entfernten Computer auf meinen lokalen Computer kopieren. Wenn ich es versuche

get [directory]

es gibt mir diesen Fehler:

Cannot download non-regular file: /home/mpirocch/Documents

get -R funktioniert auch nicht.

181
Matthew

Verwenden Sie das -r (rekursive) Flag:

get -r *
255
mani-fresh

Benutzen:

scp -r [email protected]:/home/mpirocch/Documents Documents
53

Benutze lftp :

lftp sftp://[email protected]

Dann cd in lftp in das Verzeichnis, das Sie kopieren möchten, und verwenden Sie den Befehl mirror, um das ausgewählte Verzeichnis rekursiv herunterzuladen, wie folgt:

mirror

Dieser Befehl akzeptiert Optionen und Argumente:

spiegel [OPTIONEN] [quelle  [ziel]]

Zum Beispiel bewirkt die Option -R (oder --reverse), dass der lokale Verzeichnisbaum in das ferne Verzeichnis hochgeladen wird:

mirror -R

Weitere Befehle und Optionen finden Sie auf der lftp(1)-Manpage auf der Website des Projekts oder auf Debian.org .

40
bshanks

Verwenden Sie das sftp-Programm nicht direkt, wenn Sie etwas Besseres finden können. Unter Linux unterstützen viele Dateimanager (mindestens Nautilus und Dolphin, GNOME und KDE) sftp nativ, und es gibt immer sshfs. Für Windows gibt es WinSCP und wahrscheinlich andere . Der Sinn all dieser Funktionen besteht darin, dass Sie über SFTP auf Dateien zugreifen können, als befänden Sie sich in einem regulären Dateisystem. Sie müssen sich also nicht darum kümmern, dass Sie über SFTP auf sie zugreifen.

15
Ryan Thompson

nun, diese kleine Anleitung soll helfen, einen Remote-Server in einen lokalen Ordner mit LFTP zu spiegeln

lftp sftp://user:[email protected]:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'

  • sftp:// = verwendet das SFTP-Protokoll
  • mirror = Spiegelmodus
  • verbose = zeigt die heruntergeladenen Dateien an
  • use-pget-n = Anzahl der Segmente, sehr nützlich, um große Dateien zu beschleunigen
  • parallel = Lädt Multiplikator-Dateien gleichzeitig herunter

wenn Sie Dateien parallel herunterladen möchten, schalten Sie use-pget-n=8 mit --parallel=8 aus.

ich hoffe, dies hilft jedem, der einen Remote-Ordner in einen lokalen Ordner spiegeln muss

14
nwgat

Versuchen Sie mget anstelle von get.

Erläuterung: mget wird funktionieren, wenn Sie sich in dem Verzeichnis befinden, das Sie kopieren möchten; wenn du so etwas machst:

sftp> cd dir_to_get
sftp> mget *

es werden alle Dateien in diesem Verzeichnis abgerufen. Es wird jedoch not rekursiv den Inhalt aller Unterverzeichnisse abrufen.

13
Ken Keenan
get -r [directory]

bekommt [directory] und alles darunter, wobei r für rekursiv steht. Ich habe das einfach durch Eingabe von help aus sftp herausgefunden.

9
drkvogel

Wie bei cp:

scp -rp [email protected]:/path/to/dir dir

Das Obige behält die Zeiten und Modi der ursprünglichen Dateien und Unterverzeichnisse bei. Dies ist besonders nützlich, um Backups abzurufen.

4
Aziraphale

Ich habe Java dist Ordner im Remote-Server, wo ich folgenden Baum habe:

- dist
--- Audio.jar
--- README
--- lib
----- lib.jar

Ziel ist: Ich möchte SFTP nutzen? Und legen Sie sie in/tmp/<>

Schritt 1. sftp remoteuser @ ip

Schritt 2. cd/var/tmp

Schritt 2. lmkdir/tmp/dist; lmkdir/tmp/dist/lib

Schritt 3. lcd/tmp/dist

Schritt 4. mget *

Schritt 5. lcd/tmp/dist/lib

Schritt 6. mget *

Schritt 7. Endlich habe ich mein Ziel

$ ls
Audio.jar  lib  README.TXT
0
YumYumYum