質問: amazonec2サーバーからファイルをコピーする方法 aws ec2マシンからいくつかのファイルを必死にコピーしようとしていますが、次のことに苦労しています。 既存のフォルダから一部のファイルのみをコピーできます(すべてのファイルをローカルマシンに再帰的にコピーしたいのですが) scpとrsyncは、ある場所に完全に新しいファイルを作成すると、パスが存在しないと文句を言います(たとえば、/home/ec2-user/a.txt) 私が使用しているコマンドはscp -rpi ~/.ssh/my-key.pem ec2-user@52.29.216.47:/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 ec2-user@52.29.216.47:/var/app/current . 私はすでに権限の変更を試しましたが、完全に失われることはありません。
回答: 宛先に加えて-アクセス許可は重要です。これは、rootではなくec2-userとしてscp/rsyncを使用してインスタンスにログインしているためです。それにもかかわらず、例えばcron.yamlは誰でも読むことができるので、転送されました。確認してください a.txt所有者は「ルート」ではありません。試してみてください:rsync -hva --progress -e "ssh -i ~/.ssh/my-key.pem" ec2-user@52.29.216.47:/home/ec2-user/ ./どこ ./はローカルの宛先ディレクトリです。両方のパスの終わりにある末尾のスラッシュに注意してください。