Wie bekomme ich ein ganzes Verzeichnis in sftp?

Ich lerne gerade, sftp zu verwenden, und ich möchte ein Verzeichnis vom Remotecomputer auf meinen lokalen Computer kopieren. Wenn ich versuche

get [directory]

Es gibt mir diesen Fehler:

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

get -R funktioniert auch nicht.

 230
Author: Matthew, 2009-09-12

9 answers

Verwenden Sie das Flag -r (rekursiv):

get -r *
 322
Author: mani-fresh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-07-29 20:58:55

Verwendung:

scp -r mpirocch@my-server:/home/mpirocch/Documents Documents
 57
Author: Cristian Ciupitu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-09-12 21:51:06

Verwenden lftp:

lftp sftp://user@host

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

mirror

Dieser Befehl akzeptiert Optionen und Argumente:

mirror [OPTIONS] [source [target]]

Zum Beispiel die Option -R (oder --reverse) wird dazu führen, dass der lokale Verzeichnisbaum in das entfernte Verzeichnis hochgeladen wird:

mirror -R

Siehe die lftp(1) Manpage auf der Projektseite oder am Debian.org für andere Befehle und Optionen.

 44
Author: bshanks,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-09-19 19:27:36

Nun, diese kleine Anleitung sollte 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, wirklich nützlich, um große Dateien zu beschleunigen
  • parallel = lädt gleichzeitig Multiplikatordateien herunter

Wenn Sie Dateien parallel herunterladen möchten, wechseln Sie use-pget-n=8 mit --parallel=8

Hoffe dieser hilft jedem, der einen Remote-Ordner in einen lokalen Ordner spiegeln muss

 23
Author: nwgat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-03-10 01:18:10

Verwenden Sie das sftp-Programm nicht direkt, wenn Sie etwas Besseres finden. Für Linux unterstützen viele Dateimanager (zumindest Nautilus und Dolphin, GNOME und KDE) sftp nativ, und es gibt immer sshfs. Für windows gibt es WinSCP, und wahrscheinlich andere. Der Sinn von all diesen ist, dass Sie über sftp auf Dateien zugreifen können, als wären sie auf einem normalen Filesytem, sodass Sie sich nicht darum kümmern müssen, dass Sie über sftp darauf zugreifen.

 15
Author: Ryan C. Thompson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-03-14 21:31:24

Versuche mget anstelle von get.

Klarstellung: mget funktioniert, wenn Sie sich in dem Verzeichnis befinden, das Sie kopieren möchten; wenn Sie so etwas tun:

sftp> cd dir_to_get
sftp> mget *

Es werden alle Dateien in diesem Verzeichnis. Es wird jedoch nicht rekursiv den Inhalt von Unterverzeichnissen abrufen.

 14
Author: Ken Keenan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-11-15 12:15:38
get -r [directory]

Bekommt [directory] und alles darunter, wobei r für rekursiv steht. Ich fand dies nur durch Eingabe von help von sftp.

 10
Author: drkvogel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-03-06 17:04:23

Wie bei cp:

scp -rp user@host:/path/to/dir dir

Das Obige behält die Zeiten und Modi der Originaldateien und Unterverzeichnisse bei. Dies ist besonders nützlich für den Abruf von Backups.

 3
Author: Aziraphale,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-01-11 10:27:41

Ich habe den Java dist-Ordner auf dem Remote-Server, wo ich folgenden Baum habe:

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

Ziel ist: Ich möchte SFTP verwenden? Und lege 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
Author: YumYumYum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-09-28 08:39:19