web-dev-qa-db-ja.com

フォルダを仮想マシンにアップロードする

GoogleCloudプロジェクトのComputeEngineでVMインスタンスを作成しました。コンピューターのローカルストレージから仮想マシンのブートディスクにフォルダーをアップロードしたいと思います。

コンピューターのコマンドラインインターフェイスで_scp /file/path/name external-ip-address-of-server:._と入力して、scpコマンドを使用しようとしましたが、エラーが発生しましたPermission denied (publickey). lost connection

また、wgetコマンドを使用して、インターネットからコンピューターにファイルをダウンロードできることも知っています。これを使うことを考えましたが、ダウンロードリンクとしてフォルダをオンラインにする必要があり、その方法がわかりません。

ローカルストレージから仮想マシンのブートディスクにフォルダを配置するための最良の方法は何ですか?

1
eyeung12

あなたが探しているツールはおそらく rsync です。

考えられるコマンドラインは次のとおりです。

rsync -av /file/path/name external-ip-address-of-server:

Rsyncはデフォルトのトランスポートとしてsshを使用するため、簡単に機能する前に、sshログインを機能させる必要があるようです。しかし、それは別の質問であり、StackExchangeにはおそらくすでに答えがあります。

0
Jim L.

ストレージバケットを使用してフォルダを保存することをお勧めします。このようにして、同じフォルダを異なるVMにコピーできます。

基本的なコマンドは gsutil です。ファイルをコピーする場合は、 gustil cp を使用します。フォルダを同期するには、 gsutil rsync を使用できます

ローカルマシンからバケットにデータをコピーする例:

gsutil -m rsync -r data . gs://mybucket/data

バケットからVMにコピーする例、VM then:

gsutil -m rsync -r data gs://mybucket/data .

-mはマルチスレッド同期用です

-rはサブフォルダーを調べることです

0
Ivan