Como copiar arquivos do servidor do Amazon EC2

1

Eu estou tentando desesperadamente copiar alguns arquivos da máquina do AWS EC2, mas estou sofrendo com o seguinte.

  • Eu posso copiar apenas alguns arquivos da pasta já existente (embora eu queira copiar todos os arquivos recursivamente para a minha máquina local)
  • scp e rsync reclamam que o caminho não existe quando eu crio um arquivo completamente novo em algum local (digamos /home/ec2-user/a.txt )

O comando que estou usando é

scp -rpi ~/.ssh/my-key.pem  [email protected]:/home/ec2-user/a.txt

Eu criei o arquivo em ec2-user com touch a.txt , então as permissões devem ficar bem (se isso for importante).

O conteúdo da pasta original que eu quero copiar é

-rw-r--r--  1 webapp   webapp     90 17. úno  2015 cron.yaml
drw-r--r--  2 ec2-user ec2-user 4096  1. dub 13.09 db-backup
-rw-r--r--  1 webapp   webapp   2703 17. úno  2015 index.php
-rw-r--r--  1 webapp   webapp    189 17. úno  2015 logo_aws_reduced.gif
drwxrwxrwx 15 ec2-user ec2-user 4096  1. dub 17.35 martintour
drw-r--r-- 14 ec2-user ec2-user 4096 30. bře 20.52 master_martintour
-rw-r--r--  1 webapp   webapp    367 17. úno  2015 scheduled.php
-rw-r--r--  1 webapp   webapp   3490 17. úno  2015 styles.css

No entanto, apenas esta parte é copiada

-rw-r--r-- 1 pmensik pmensik   90 úno 17  2015 cron.yaml
-rw-r--r-- 1 pmensik pmensik 2703 úno 17  2015 index.php
-rw-r--r-- 1 pmensik pmensik  189 úno 17  2015 logo_aws_reduced.gif
-rw-r--r-- 1 pmensik pmensik  367 úno 17  2015 scheduled.php
-rw-r--r-- 1 pmensik pmensik 3490 úno 17  2015 styles.css

Portanto, parece que a opção -r não está funcionando. E também não explica porque eu não posso copiar arquivos ou pastas recém-criados como eu mencionei anteriormente.

O comando que usei para isso é

scp -rpi ~/.ssh/my-key.pem  [email protected]:/var/app/current . 

Eu já joguei alterando as permissões, mas não estou completamente perdido.

    
por Petr Mensik 03.04.2017 / 11:13

2 respostas

1

Você está perdendo o diretório de destino.

Tente:

scp -rp -i ~/.ssh/my-key.pem [email protected]:/home/ec2-user/a.txt /your/local/dir/

    
por 04.04.2017 / 00:18
1

Além do destino - a permissão é importante, porque você está efetuando login na instância com scp / rsync como ec2-user, não como root. No entanto, e. cron.yaml é legível para qualquer pessoa, é por isso que foi transferido. Certifique-se de que a.txt owner não seja 'root'.

Tente:

rsync -Hva --progress -e "ssh -i ~/.ssh/my-key.pem" [email protected]:/home/ec2-user/ ./

onde ./ é o seu diretório de destino local. Anote barras finais no final dos dois caminhos.

    
por 04.04.2017 / 07:51