Como posso copiar arquivos de um Google Cloud Compute Server para minha máquina local?

8

Estou tentando baixar todos os arquivos do servidor do Google Cloud Compute (executando Linux Debian). Estou extremamente familiarizado com o SSH e o Google Cloud Compute como um todo. Eu prefiro copiar todos os arquivos (semelhante a um pedido git pull) ou criar um zip e fazer o download. Resumindo, eu preciso copiar todos os arquivos no servidor do Google Cloud removido para minha máquina local.

Obrigado antecipadamente.

    
por user1890328 23.07.2014 / 18:39

3 respostas

9

Tente usar 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]

por exemplo,

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

Como alternativa, você também pode usar sftp ou scp ; veja esta resposta SO para obter detalhes sobre os argumentos da linha de comando que você precisa especificar, que citarei aqui para simplificar:

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

Para usar qualquer outra ferramenta SFTP, forneça o caminho para a chave privada SSH e ela poderá se conectar à instância. No entanto, no caso de gcloud , ele pode resolver o nome do host para o IP público; Para todas as outras ferramentas, você precisará encontrar o IP manualmente e especificar o endereço IP diretamente.

    
por 30.07.2014 / 17:20
2

( gcloud compute copy-files está obsoleto agora, portanto gcloud compute scp é recomendado)

Use gcloud compute scp da seguinte forma:

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

Por exemplo:

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

Se a zona já estiver definida (usando gcloud config set compute/zone ZONE ou através da variável de ambiente, você não precisa especificar a zona acima)

Além disso, gcloud compute scp não é recursivo por padrão. Precisamos usar o sinalizador --recurse para ele.

Veja a documentação detalhada aqui .

    
por 10.08.2017 / 09:16
1

Talvez você possa usar o SFTP (o google usava o Filezilla em seus documentos). Eu não sou muito bom com o CLI e, portanto, como as opções de GUI que o Filezilla e outros oferecem.

Aqui estão os passos em alto nível:

  1. Instale e execute o SDK do gcloud ( $ gcloud init )
  2. Gerar chave SSH ( $ gcloud compute ssh )
  3. Configure o cliente de FTP (instale e adicione o arquivo de chaves)
  4. Conecte-se à VM usando o cliente SFTP

E aqui está a documentação do Google.

Além disso, eu registrei isso, pode ser útil:

link

    
por 16.03.2016 / 20:04