Jak mogę skopiować pliki z serwera Google Cloud Compute na mój komputer lokalny

11

Próbuję pobrać wszystkie pliki serwera z Google Cloud Compute (z systemem Linux Debian). Niezwykle nie znam SSH i Google Cloud Compute jako całości. Wolałbym albo skopiować wszystkie pliki (podobnie jak żądanie ściągnięcia git) lub utworzyć zip i pobrać. Krótko mówiąc, muszę skopiować wszystkie pliki z usuniętego serwera Google Cloud na mój komputer lokalny.

Z góry dziękuję.

użytkownik1890328
źródło
może to da ci inną opcję stackoverflow.com/a/27792823/2406499
user145422

Odpowiedzi:

12

Spróbuj użyć 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]

na przykład,

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

Alternatywnie możesz również użyć (nie- gcloud) sftplub scp; zobacz tę odpowiedź SO, aby uzyskać szczegółowe informacje na temat argumentów wiersza poleceń, które musisz podać, które tutaj przytoczę dla uproszczenia:

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

Aby użyć dowolnego innego narzędzia SFTP, podobnie podaj mu ścieżkę do klucza prywatnego SSH i będzie on mógł połączyć się z instancją. Jednak w przypadku gcloudmoże samodzielnie rozpoznać nazwę hosta dla publicznego adresu IP; dla wszystkich innych narzędzi musisz ręcznie znaleźć adres IP i bezpośrednio podać adres IP.

Misha Brukman
źródło
Niesamowite. Czy istnieje sposób na usunięcie plików, a następnie usunięcie ich podczas kopiowania?
facet
@MCllorf - Nie jestem pewien, czy podążam za tym, o co pytasz, czy możesz otworzyć kolejne pytanie z dalszymi szczegółami i przypadkiem użycia lub celem, który próbujesz osiągnąć?
Misha Brukman
1
Przepraszam, że zdecydowanie mogłem to lepiej sformułować. Moim celem było skopiowanie pliku w inne miejsce, a następnie usunięcie oryginału, aby nie zajmował niepotrzebnego miejsca. Już to rozgryzłem :) dzięki!
facet
5

( gcloud compute copy-filesjest teraz przestarzałe, dlatego gcloud compute scpzaleca się)

Użyj gcloud compute scpw następujący sposób:

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 …]

Na przykład:

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

Jeśli strefa jest już ustawiona (przy użyciu gcloud config set compute/zone ZONElub za pomocą zmiennej środowiskowej, nie musisz określać strefy powyżej)

Ponadto gcloud compute scpdomyślnie nie kopiuje rekurencyjnie. Musimy do tego użyć --recurseflagi.

Zobacz szczegółową dokumentację tutaj .

Anupam
źródło
2

Może możesz użyć SFTP (Google używał Filezilli w swoich dokumentach). Nie jestem zbyt dobry w CLI, a więc lubię opcje GUI Filezilla i inne.

Oto kroki na wysokim poziomie:

  1. Zainstaluj i uruchom gcloud SDK ( $ gcloud init)
  2. Wygeneruj klucz SSH ( $ gcloud compute ssh)
  3. Skonfiguruj klienta FTP (zainstaluj i dodaj plik klucza)
  4. Połącz się z maszyną wirtualną za pomocą klienta SFTP

A oto dokumentacja od Google.

Nagrałem to, może być pomocne:

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

Naresh MG
źródło
0

To zadziałało dla mnie

Składnia:

gcloud compute scp <UserName>@<ServerName/InstanceName>:~/<FilePathFromInstance> <LocalSystemFilePath>
Viraj Wadate
źródło
0

Jeśli łączysz się z instancją za pośrednictwem terminala internetowego udostępnianego przez Google Cloud Console, możesz kliknąć trybik w prawym górnym rogu i wybrać „Pobierz plik”, a następnie wprowadzić pełną ścieżkę do pliku, który zostanie pobrany za pośrednictwem przeglądarki . To samo dotyczy przesyłania.

wprowadź opis zdjęcia tutaj

DataGreed
źródło