Як можна скопіювати файли з сервера обчислювальної машини Google на свій локальний комп'ютер


11

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

Спасибі заздалегідь.


може бути , це може дати вам ще один варіант stackoverflow.com/a/27792823/2406499
user145422

Відповіді:


12

Спробуйте використовувати 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 …]
  [-h]

наприклад,

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

В якості альтернативи ви також можете використовувати (не gcloud) sftpабо scp; дивіться цю відповідь ТА для детальної інформації про аргументи командного рядка, які потрібно вказати, які я цитую тут для простоти:

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

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


Дивовижно. Чи є спосіб видалити файли та видалити їх після їх копіювання?
людина хлопець

@MCllorf - Я не впевнений, що я дотримуюся того, що ви запитуєте, чи можете ви, будь ласка, відкрити ще одне запитання з більш детальною інформацією та випадком використання або метою, яку ви намагаєтеся досягти?
Міша Брукман

1
Вибачте, що я напевно міг би так сформулювати це. Моєю метою було скопіювати файл десь в іншому місці, а потім видалити оригінал, щоб він не займав зайвого місця. Я вже зрозумів це, хоча :) спасибі!
хлопець хлопець

5

( 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прапор.

Детальну документацію дивіться тут .


2

Можливо, ви можете використовувати SFTP (Google використовував Filezilla у своїх документах). Я не надто хороший з CLI, а тому люблю параметри GUI, які надає Filezilla та інші.

Ось такі кроки на високому рівні:

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

А ось документація від Google.

Також я це записав, це може бути корисним:

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


0

Це працювало для мене

Синтаксис:

gcloud compute scp <UserName>@<ServerName/InstanceName>:~/<FilePathFromInstance> <LocalSystemFilePath>

0

Якщо ви підключитесь до примірника через веб-термінал, який надає Google Cloud Console, ви можете натиснути на гвинтик у верхньому правому куті та вибрати "Завантажити файл", а потім ввести повний шлях до файлу, і він буде завантажений через браузер . Те ж саме стосується і завантаження.

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.