我正拼命尝试从 AWS EC2 机器复制一些文件,但却无法成功。
- 我只能从已经存在的文件夹中复制一些文件(尽管我想将所有文件递归复制到我的本地机器)
scp
并rsync
抱怨当我在某个位置创建全新文件时路径不存在(比方说/home/ec2-user/a.txt
)
我使用的命令是
scp -rpi ~/.ssh/my-key.pem [email protected]:/home/ec2-user/a.txt
我在 ec2-user 下创建了文件,touch a.txt
因此权限应该没问题(如果这很重要的话)。
我想要复制的原始文件夹的内容是
-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
但是只有这部分被复制
-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
所以看起来这个-r
选项不起作用。而且它也不能解释为什么我无法复制新创建的文件或文件夹,就像我之前提到的那样。
我为此使用的命令是
scp -rpi ~/.ssh/my-key.pem [email protected]:/var/app/current .
我已经尝试过更改权限,但我完全迷失了。
答案1
答案2
除了目标之外,权限也很重要,因为您是以 ec2-user 而非 root 身份使用 scp/rsync 登录实例的。尽管如此,cron.yaml
任何人都可以读取 eg,这就是它被转移的原因。确保a.txt
所有者不是“root”。
尝试:
rsync -Hva --progress -e "ssh -i ~/.ssh/my-key.pem" [email protected]:/home/ec2-user/ ./
您的本地目标目录在哪里./
。请注意两个路径末尾的斜杠。