递归复制S3对象复制到另一个桶
当参数--recursive
全部通过,下面的cp
命令递归副本通过使用--exclude
参数,将指定存储桶下的对象转移到另一个存储桶,同时排除某些对象。在这个例子中,斗mybucket
有对象test1.txt
和another/test1.txt
:
aws s3 cp s3://mybucket/ s3://mybucket2/ --recursive --exclude "mybucket/another/*"
输出:
copy: s3://mybucket/test1.txt to s3://mybucket2/test1.txt
您可以结合--exclude
和--include
选项只复制与模式匹配的对象,排除其他所有:
aws s3 cp s3://mybucket/logs/ s3://mybucket2/logs/ --recursive --exclude "*" --include "*.log"
输出:
copy: s3://mybucket/test/test.log to s3://mybucket2/test/test.log
copy: s3://mybucket/test3.log to s3://mybucket2/test3.log
你的情况,这将是:
aws s3 cp s3://mybucket/data/ s3://mybucket/data/ --recursive --exclude "*" --include "file_*.txt"
来源:AWS CLI cp
command documentation
谢谢你的回应,而是给出了一个错误。我不认为在路径名中支持通配符 – Dlob
是的,我意识到,在我保存后,这应该更有效 –