Назад | Перейти на главную страницу

Загрузить папку в виртуальную машину

Я создал экземпляр виртуальной машины на Compute Engine в проекте Google Cloud. Я хочу загрузить папку из локального хранилища моего компьютера на загрузочный диск виртуальной машины.

Я пробовал использовать scp в интерфейсе командной строки моего компьютера, набрав scp /file/path/name external-ip-address-of-server:. Но потом я получил ошибкуPermission denied (publickey). lost connection

Я также знаю, что wget Команда может использоваться для загрузки файла из Интернета на компьютер. Я думал об этом, но это потребовало бы размещения моей папки в Интернете в качестве ссылки для загрузки, а я не знаю, как это сделать.

Как лучше всего поместить папку из локального хранилища на загрузочный диск виртуальной машины?

Я думаю, что ты ищешь

gcloud compute scp --recurse [folder_name] your_instance:/path/to/copy/

Вы можете найти ссылку здесь: https://cloud.google.com/sdk/gcloud/reference/compute/scp

Я бы рекомендовал использовать Storage Buckets для хранения папок. Таким образом вы можете копировать одни и те же папки на разные виртуальные машины.

Основная команда gsutil. Если вы хотите скопировать файл, используйте gustil cp. Для синхронизации папок вы можете использовать gsutil rsync

Пример копирования данных с локальной машины в корзину:

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

Пример копирования из корзины в виртуальную машину, затем подключитесь к виртуальной машине:

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

-m - для многопоточной синхронизации

-r - заглядывать в подпапки

Инструмент, который вы ищете, вероятно, rsync.

Возможная командная строка:

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

Rsync использует ssh в качестве транспорта по умолчанию, поэтому, прежде чем он будет легко работать для вас, похоже, вам нужно получить свой ssh логины рабочие. Но это другой вопрос, и у StackExchange, вероятно, уже есть ответ.