私のソースフォルダにこれらのファイルがあります
source_path/date=20191230/somefile.txt
source_path/date=20191231/somefile.txt
source_path/date=20200101/somefile.txt
source_path/date=20200102/somefile.txt
次のコマンドを実行すると、すべてのファイルがdest_pathフォルダにコピーされます。
cp --recursive source_path/date=20200* dest_path/
私のローカルコンピュータで完璧に動作します。
必要に応じてこのファイルをdest_pathにコピーします。
source_path/date=20200101/somefile.txt
source_path/date=20200102/somefile.txt
問題は、AWSで同じものを複製するときに発生します。このコマンドを使用して、S3 から Ec2 インスタンスにコピーします。
aws s3 cp --recursive s3://source_path/date=20200* home/ec2-user/dest_path/
これは機能せず、エラーも発生せず、単に次のような出力を提供します。
0.35user 0.05system 0:00.48elapsed 85%CPU (0avgtext+0avgdata 50660maxresident)k
0inputs+0outputs (0major+17977minor)pagefaults 0swaps
答え1
~からパンクロロックポリ~のスタックオーバーフローに対する回答(で見つかりましたサナシップ):
AWSバケットから現在のディレクトリに複数のファイルをダウンロードするには、recursive
フラグを使用できます。
exclude
include
パラメータの順序が重要です。
コマンド例:
aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"
これらのフィルタの使用方法に関する追加情報:http://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters