linux – sftpでディレクトリ全体を取得するには?

linux sftp

sftpの使い方を学んでいるところなのですが、リモートコンピュータからローカルコンピュータにディレクトリをコピーしたいと思っています。試してみると

get [directory]

このようなエラーが出ます

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

get -Rも動かない

  224  None  2009-09-12


ベストアンサー

-r (再帰的) フラグを使用します

get -r *

315  mani-fresh  2010-11-29


Use:

scp -r mpirocch@my-server:/home/mpirocch/Documents Documents

56  Cristian Ciupitu  2009-09-12


lftpを使用します

lftp sftp://user@host

次に、lftp 内で、コピーしたいディレクトリに cd を入力し、mirror コマンドを使用して、次のように選択したディレクトリを再帰的にダウンロードします

mirror

このコマンドは、オプションと引数を受け付けます

mirror [OPTIONS] [source [target]]

例えば、-R (または--reverse) オプションを指定すると、ローカルディレクトリツリーをリモートディレクトリにアップロードします

mirror -R

その他のコマンドやオプションについては、lftp(1) の man ページ プロジェクトのサイト Debian.org を参照してください

43  bshanks  2010-04-08


さて、この小さなガイドは、リモートサーバをlftpでローカルフォルダにミラーリングします

lftp sftp://user:password@server.org:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'

  • sftp:// = SFTPプロトコルを使用します
  • mirror = ミラーモード
  • verbose = ダウンロード中のファイルを表示します
  • use-pget-n = セグメント数、大きなファイルを高速化するのに便利
  • parallel=乗算ファイルを同時にダウンロードする

ファイルを並列にダウンロードしたい場合は、use-pget-n=8--parallel=8に切り替えてください

これは、リモートフォルダをローカルフォルダにミラーリングする必要がある人に役立ちます

20  nwgat  2014-03-10


もっと良い方法があるのなら、sftp プログラムを直接使わないでください。Linux では、多くのファイルマネージャ (少なくとも Nautilus と Dolphin、GNOME と KDE のもの) が sftp をネイティブにサポートしています。Windows では WinSCP、そしておそらく その他 があります。これらのすべてのポイントは、通常のファイルシステム上にあるかのように sftp を介してファイルにアクセスできるようにすることで、 sftp を介してファイルにアクセスしていることを気にする必要はありません

15  Ryan C. Thompson  2009-09-13


getの代わりにmgetを試してみてください

明確化。mget は、コピーしたいディレクトリの中にいる場合に動作します

sftp> cd dir_to_get
sftp> mget *

とすると、そのディレクトリ内のすべてのファイルを取得します。しかし、サブディレクトリの内容を再帰的に取得することはありません

14  Ken Keenan  2009-09-12


get -r [directory]

[directory] とその下のすべてのものを取得します。これは sftp から help と入力するだけでわかりました

10  drkvogel  2012-03-06


cpと同様に

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

以上により、元のファイルとサブディレクトリの時間とモードが保存されます。これは特にバックアップの検索に便利です

3  Aziraphale  2013-01-11


リモートサーバにJava distフォルダがあり、そこには以下のツリーがあります

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

ゴールは。SFTPを使いたい?で、/tmp/<>に入れます

ステップ 1. sftp remoteuser@ip

ステップ2. cd /var/tmp

ステップ2. lmkdir /tmp/dist; lmkdir /tmp/dist/lib

ステップ3. lcd /tmp/dist

ステップ4

ステップ5. lcd /tmp/dist/lib

ステップ6.mget *

ステップ7 ついに目標を手に入れた

$ ls
Audio.jar  lib  README.TXT

0  YumYumYum  2011-09-28


タイトルとURLをコピーしました