web-dev-qa-db-ja.com

Google Compute Engineからローカルディレクトリにファイルをコピーする方法

次のコマンドを使用して、インスタンスからローカルディレクトリにファイルをコピーしようとしています

gcloud compute scp <instance-name>:~/<file-name> ~/Documents/

ただし、次のようにエラーが表示されます

$ USER/Documents /:ディレクトリです

エラー:(gcloud.compute.scp)[/ usr/bin/scp]が戻りコード[1]で終了しました。

ローカルディレクトリからGCEへのコピーは正常に機能します。

スタンフォード大学のチュートリアルとGoogleのドキュメントも確認しました。

このような問題がない別のインスタンスが1つあります。

SSHキーに問題があると思われます。

何が間違っていたのでしょうか?

17
oya163

ソースと宛先のパスが正しい場合、コマンドは正しい

あなたが質問に投稿したコマンドは、Google Compute Engine VMからローカルマシンにファイルをコピーするときに機能します。

$ gcloud compute scp vm1:~/.bashrc ~/Documents/
.bashrc                                          100% 3515     3.4KB/s   00:00

また、他の側(つまり、ローカルマシンからGCE VMへ)からコピーを実行しようとしましたが、動作します:

$ gcloud compute scp ~/Documents/.bashrc vm1:~/temp/
.bashrc                                          100% 3515     3.4KB/s   00:00

$ gcloud compute scp ~/Documents/.bashrc vm1:~/.bashrc-new
.bashrc                                          100% 3515     3.4KB/s   00:00

gcloudは、scpにあるPATH実行可能ファイルに依存しています。 gcloud scpコマンドに指定した引数は、scpバイナリに渡されます。ソースと宛先のパスが正しいと仮定すると、動作するはずです。

scpを使用した再帰的コピー

ただし、特定のエラーメッセージに基づいて、コピーしようとしているソースパスがファイルではなくディレクトリである場合にのみ、バリエーションが表示されることがわかりました。その特定の場合、--recurse引数(通常のscpでサポートされる-r引数に類似)を渡すことができます。これは、指定されたディレクトリの下のすべてのファイルとディレクトリを再帰的にコピーします。

gcloud compute scp --recurse SRC_PATH DEST_PATH

17
Tuxdude

VMからデスクトップにファイルをコピーするには、VMにSSHで接続し、右上隅にsettingsボタンがあります。 、そこにはdownload fileオプションがあり、ファイルのパスを入力するだけです。

フォルダーの場合は、最初にフォルダーを圧縮してからダウンロードします。

6

ローカル端末ではなく、GCEに接続された端末でこれらのコマンドを実行しようとしていたことを除いて、すべてが完璧でした。

oyashi@oyashi-torch-instance:~$ gcloud compute scp oyashi-torch-instance:~/spring1617_assignment1.Zip ~/Documents/

/ home/oyashi/Documents /:ディレクトリエラーです:(gcloud.compute.scp)[/ usr/bin/scp] exited with return code [1]。

しかし、ローカル端末でこれを試したとき。これが起こりました。

oyashi@oyashi:~/Documents$ gcloud compute scp oyashi-torch-instance:~/spring1617_assignment1.Zip ~/Documents/

spring1617_assignment1.Zip 100%42KB 42.0KB/s 00:00

皆さんのコメントと助けに感謝します。私はその終わりから愚かな間違いを知っています。しかし、他の人が私の愚かさから学ぶことができるように、私はこの答えを投稿しました。

6
oya163