Come posso copiare i file da un Google Cloud Compute Server sul mio computer locale


11

Sto cercando di scaricare tutti i file del server da Google Cloud Compute (con Linux Debian). Non ho molta familiarità con SSH e Google Cloud Compute nel suo complesso. Preferirei copiare tutti i file (simile a una richiesta git pull) o creare una zip e scaricare. In breve, devo copiare tutti i file sul server di rimozione Google Cloud sul mio computer locale.

Grazie in anticipo.


forse questo può dare un'altra opzione stackoverflow.com/a/27792823/2406499
user145422

Risposte:


12

Prova a usare 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]

per esempio,

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

In alternativa, puoi anche usare (non- gcloud) sftpo scp; vedere questa risposta SO per i dettagli sugli argomenti della riga di comando che è necessario specificare, che citerò qui per semplicità:

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

Per utilizzare qualsiasi altro strumento SFTP, fornire allo stesso modo il percorso della chiave privata SSH e sarà in grado di connettersi all'istanza. Tuttavia, nel caso di gcloud, può risolvere il nome host nell'IP pubblico stesso; per tutti gli altri strumenti, dovrai trovare l'IP manualmente e specificare direttamente l'indirizzo IP.


Eccezionale. Esiste un modo per rimuovere i file e quindi eliminarli mentre vengono copiati?
uomo ragazzo

@MCllorf - Non sono sicuro di seguire quello che mi stai chiedendo, puoi aprire un'altra domanda con maggiori dettagli e il caso d'uso o l'obiettivo che stai cercando di raggiungere?
Misha Brukman,

1
Mi dispiace che avrei sicuramente potuto esprimermi meglio. Il mio obiettivo era quello di copiare il file da qualche altra parte, quindi eliminare l'originale in modo da non occupare spazio non necessario. L'ho già capito :) grazie!
amico ragazzo

5

( gcloud compute copy-filesè deprecato ora, quindi gcloud compute scpè consigliato)

Utilizzare gcloud compute scpcome segue:

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

Per esempio:

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

Se la zona è già impostata (utilizzando gcloud config set compute/zone ZONEo tramite la variabile di ambiente, non è necessario specificare la zona sopra)

Inoltre, gcloud compute scpnon viene copiato in modo ricorsivo per impostazione predefinita. Dobbiamo usare la --recursebandiera per questo.

Vedi la documentazione dettagliata qui .


2

Forse puoi usare SFTP (google ha usato Filezilla nei loro documenti). Non sono molto bravo con la CLI e quindi come le opzioni della GUI fornite da Filezilla e altri.

Ecco i passaggi ad alto livello:

  1. Installa ed esegui gcloud SDK ( $ gcloud init)
  2. Genera chiave SSH ( $ gcloud compute ssh)
  3. Imposta il client FTP (installa e aggiungi il file chiave)
  4. Connettersi alla VM utilizzando il client SFTP

Ed ecco la documentazione di Google.

Inoltre, ho registrato questo, potrebbe essere utile:

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


0

Questo ha funzionato per me

Sintassi:

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

0

Se ti connetti all'istanza tramite il terminale basato su Web fornito da Google Cloud Console, puoi fare clic sul pignone nell'angolo in alto a destra e selezionare "Scarica file", quindi inserire il percorso completo del file e verrà scaricato tramite browser . La stessa cosa vale per il caricamento.

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.