GoogleCloudプロジェクトのComputeEngineでVMインスタンスを作成しました。コンピューターのローカルストレージから仮想マシンのブートディスクにフォルダーをアップロードしたいと思います。
コンピューターのコマンドラインインターフェイスで_scp /file/path/name external-ip-address-of-server:.
_と入力して、scp
コマンドを使用しようとしましたが、エラーが発生しましたPermission denied (publickey). lost connection
また、wget
コマンドを使用して、インターネットからコンピューターにファイルをダウンロードできることも知っています。これを使うことを考えましたが、ダウンロードリンクとしてフォルダをオンラインにする必要があり、その方法がわかりません。
ローカルストレージから仮想マシンのブートディスクにフォルダを配置するための最良の方法は何ですか?
あなたが探しているツールはおそらく rsync
です。
考えられるコマンドラインは次のとおりです。
rsync -av /file/path/name external-ip-address-of-server:
Rsyncはデフォルトのトランスポートとしてssh
を使用するため、簡単に機能する前に、ssh
ログインを機能させる必要があるようです。しかし、それは別の質問であり、StackExchangeにはおそらくすでに答えがあります。
ストレージバケットを使用してフォルダを保存することをお勧めします。このようにして、同じフォルダを異なる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はサブフォルダーを調べることです