sftpでディレクトリ全体を取得するにはどうすればいいですか?
sftpの使い方を学んでいるところですが、リモートコンピュータからローカルコンピュータにディレクトリをコピーしたいのですが、
get [directory]
get -R
を試してもこのエラーが出ます。試しに
Cannot download non-regular file: /home/mpirocch/Documents
それは私にこのエラーを与えます:
&001 &007も動作しません。
sftpの使い方を学んでいるところですが、リモートコンピュータからローカルコンピュータにディレクトリをコピーしたいのですが、
get [directory]
get -R
を試してもこのエラーが出ます。試しに
Cannot download non-regular file: /home/mpirocch/Documents
それは私にこのエラーを与えます:
&001 &007も動作しません。
007 (再帰的) フラグを使用する:
get -r *
使用方法:
scp -r mpirocch@my-server:/home/mpirocch/Documents Documents
使用 lftp
:
lftp sftp://user@host
その後、lftp 内で、コピーしたいディレクトリに cd
を作成し、mirror
コマンドを使用して、選択したディレクトリを再帰的にダウンロードします。
mirror
例えば、-R
(または --reverse
) オプションは、ローカルディレクトリツリーをリモートディレクトリにアップロードします:
mirror [_OPTIONS_] [_source_ [_target_]]
その他のコマンドについては、lftp(1)
man ページ プロジェクトのサイト または Debian. org を参照してください。
よくこの小さいガイドは助けるべきである、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
を切り替えて &007 をダウンロードすることを願っています。
もっと良い方法があるのなら、sftp プログラムを直接使わないでください。Linux では、多くのファイルマネージャ (少なくとも Nautilus と Dolphin、GNOME と KDE のもの) が sftp をネイティブにサポートしています。Windows では、WinSCP やおそらく その他 があります。これらのすべてのポイントは、通常のファイルシステム上にあるかのように sftp を使ってファイルにアクセスできるようにすることで、 sftp を使ってファイルにアクセスしていることを気にする必要はありません。
明確化: mget
は、コピーしたいディレクトリの中にいる場合に動作します。しかし、サブディレクトリの内容を再帰的に取得することはありません。
007と同様に:
scp -rp user@host:/path/to/dir dir
上記は、元のファイルとサブディレクトリの時間とモードを保持します。これは特にバックアップの検索に便利です。
私はリモートサーバに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
Step 4. mget *
Step 5. lcd /tmp/dist/lib
Step 6. mget *
Step 7. finally I have my goal
$ ls
Audio.jar lib README.TXT