Ich lerne gerade sftp und möchte ein Verzeichnis vom Remote-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
geht auch nicht
Antworten:
Verwende das
-r
(rekursive) Flag:quelle
get: Invalid flag -r
-r
Flagge nicht. Ist Ihr System auf dem neuesten Stand?Verwenden:
quelle
scp -r
. Oder Sie können einen erweiterten SFTP-Client wie Filezilla verwenden.sftp
, aber keinenscp
Zugriff.Verwendung
lftp
:Gehen
cd
Sie dann in lftp in das Verzeichnis, das Sie kopieren möchten, und verwenden Sie denmirror
Befehl, um das ausgewählte Verzeichnis wie folgt rekursiv herunterzuladen:Dieser Befehl akzeptiert Optionen und Argumente:
Zum Beispiel bewirkt die Option
-R
(oder--reverse
), dass der lokale Verzeichnisbaum in das Remote-Verzeichnis hochgeladen wird:Weitere Befehle und Optionen finden Sie auf der
lftp(1)
Manpage auf der Website des Projekts oder unter Debian.org .quelle
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-Protokollmirror
= Spiegelmodusverbose
= zeigt die heruntergeladenen Dateien anuse-pget-n
= Anzahl der Segmente, sehr nützlich, um große Dateien zu beschleunigenparallel
= Lädt Multiplikator-Dateien gleichzeitig herunterWenn Sie Dateien parallel herunterladen möchten, wechseln Sie
use-pget-n=8
mit--parallel=8
Ich hoffe, dies hilft jedem, der einen Remote-Ordner in einen lokalen Ordner spiegeln muss
quelle
lftp 'sftp://user:[email protected]:22' -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
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 auch andere . Der Sinn all dieser Funktionen ist, 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.
quelle
sftp/ssh
auslasten , während ich es mit einer einfachen Befehlszeilenschnittstelle tat (ca. 100 MB / s Dateitransfer). Das Problem war also Nautilus unter GNU / Linux Mint.Versuchen Sie es
mget
stattget
.Erläuterung: Funktioniert
mget
, wenn Sie sich in dem Verzeichnis befinden, das Sie kopieren möchten. wenn du so etwas machst:Es werden alle Dateien in diesem Verzeichnis abgerufen. Der Inhalt von Unterverzeichnissen wird jedoch nicht rekursiv abgerufen.
quelle
bekommt
[directory]
und alles drunter, wor
rekursiv steht. Ich fand das nur durch Tippenhelp
vonsftp
.quelle
Wie bei
cp
:Das Obige behält die Zeiten und Modi der ursprünglichen Dateien und Unterverzeichnisse bei. Dies ist besonders nützlich für das Abrufen von Backups.
quelle
Ich habe Java dist Ordner im Remote-Server, wo ich folgenden Baum habe:
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
quelle