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 .
私はすでに権限の変更を試しましたが、完全に失われることはありません。
宛先ディレクトリがありません。
試してみてください:
scp -rp -i ~/.ssh/my-key.pem [email protected]:/home/ec2-user/a.txt /your/local/dir/
宛先に加えて-アクセス許可は重要です。これは、rootではなくec2-userとしてscp/rsyncを使用してインスタンスにログインしているためです。それにもかかわらず、例えばcron.yaml
は誰でも読むことができるので、転送されました。確認してください a.txt
所有者は「ルート」ではありません。
試してみてください:
rsync -Hva --progress -e "ssh -i ~/.ssh/my-key.pem" [email protected]:/home/ec2-user/ ./
どこ ./
はローカルの宛先ディレクトリです。両方のパスの終わりにある末尾のスラッシュに注意してください。