Как копировать файлы с Google Cloud Compute Server на локальную машину

Я пытаюсь загрузить все серверные файлы из Google Cloud Compute (под управлением Linux Debian). Я очень незнакомо с SSH и Google Cloud Compute в целом. Я бы предпочел либо копировать все файлы (аналогично запросу git pull), либо создавать zip-файлы и загружать их. Короче, мне нужно скопировать все файлы на удаленном облачном сервере Google на локальный компьютер.

Заранее спасибо.

  • Предотвращение разблокировки раздела на USB-накопителе в Linux
  • Организация музыки в папки для Linux (Ubuntu / Debian)?
  • Соединить видео с разделенным экраном
  • Использование нескольких веб-камер USB в Linux
  • Какое лучшее решение для резервного копирования Ubuntu для нетехнического пользователя?
  • Как физически найти устройство Wi-Fi с помощью ноутбука или мобильного телефона
  • 3 Solutions collect form web for “Как копировать файлы с Google Cloud Compute Server на локальную машину”

    Попробуйте использовать gcloud compute copy-files :

     gcloud compute copy-files [[USER@]INSTANCE:]SOURCE [[[USER@]INSTANCE:]SOURCE …] [[USER@]INSTANCE:]DEST [--help] [--recursive, -r] [--ssh-key-file SSH_KEY_FILE] [--zone ZONE] [-h] 

    например,

     $ gcloud compute copy-files \ my-instance-1:~/file-1 \ my-instance-2:~/file-2 \ ~/my-destination \ --zone us-central2-a 

    В качестве альтернативы вы также можете использовать sftp или scp ; См. Этот ответ SO для получения подробных сведений о аргументах командной строки, которые необходимо указать, которые я приведу здесь для простоты:

     sftp -o IdentityFile ~/.ssh/google_compute_engine user@host 

    Чтобы использовать любой другой инструмент SFTP, аналогичным образом предоставляйте ему путь к закрытому ключу SSH, и он сможет подключиться к экземпляру. Однако в случае gcloud он может разрешить имя хоста самому публичному IP; Для всех других инструментов вам нужно будет найти IP вручную и указать IP-адрес напрямую.

    Возможно, вы можете использовать SFTP (Google использует Filezilla в своих документах). Я не слишком хорош с CLI и, следовательно, как опции графического интерфейса Filezilla и другие.

    Вот шаги на высоком уровне:

    1. Установите и запустите gcloud SDK ( $ gcloud init )
    2. Сгенерировать SSH-ключ ( $ gcloud compute ssh )
    3. Настройка FTP-клиента (установка и добавление ключевого файла)
    4. Подключение к виртуальной машине с помощью SFTP-клиента

    И вот документация от Google.

    Кроме того, я записал это, это может быть полезно:

    https://www.youtube.com/watch?v=9ssfE6ODpak

    ( gcloud compute copy-files устарел сейчас, поэтому gcloud compute scp )

    Используйте gcloud compute scp следующим образом:

     gcloud compute scp [[USER@]INSTANCE:]SRC [[[USER@]INSTANCE:]SRC …] [[USER@]INSTANCE:]DEST [--compress] [--dry-run] [--force-key-file-overwrite] [--plain] [--port=PORT] [--recurse] [--scp-flag=SCP_FLAG] [--ssh-key-file=SSH_KEY_FILE] [--strict-host-key-checking=STRICT_HOST_KEY_CHECKING] [--zone=ZONE] [GCLOUD_WIDE_FLAG …] 

    Например:

     $ gcloud compute scp example-instance:~/REMOTE-DIR ~/LOCAL-DIR \ --zone us-central1-a 

    Если зона уже установлена ​​(используя gcloud config set compute/zone ZONE или через переменную окружения, тогда вам не нужно указывать зону выше)

    Кроме того, gcloud compute scp не копирует рекурсивно по умолчанию. Для этого нам нужно использовать флаг --recurse .

    См. Подробную документацию здесь .

    Давайте будем гением компьютера.