簡體   English   中英

如何使用bash腳本將S3中的文件從文件夾遞歸復制到另一個文件夾?

[英]How to copy files in S3 from folder to another recursively using bash script?

我的AWS S3存儲桶中有一個名為myfiles的文件夾結構:

mainfolder/
|-- current
`-- error
    `-- files
        |-- files1
        `-- files2

我正在嘗試將files1和files2文件夾下的所有文件復制到當前文件,以使結果結構如下所示:

mainfolder/
|-- current
|   |-- files1
|   `-- files2
`-- error
    `-- files
        |-- files1
        `-- files2

我正在嘗試使用簡單的bash for循環來做到這一點,例如:

BUCKET=myfiles
for dir in $(aws s3 ls s3://$BUCKET/mainfolder/error/files/ | awk '{print $2}'); do
    aws s3 cp $i s3://$BUCKET/mainfolder/current/$i
done

但是我遇到了錯誤:

The user-provided path 0 does not exist.

如何做到這一點?

您可以使用:

aws s3 sync s3://my-bucket/mainfolder/error/files/ s3://my-bucket/mainfolder/current/

要么:

aws s3 cp --recursive s3://my-bucket/mainfolder/error/files/* s3://my-bucket/mainfolder/current/

請參閱: sync-AWS CLI命令參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM