我们有一个aws s3同步命令,它通过将数据从bitbucket同步到s3。下面是s3桶结构
cdn-accountname > qa > sitename > cdn > img
cdn-accountname > qa > sitename > cdn > css
cdn-accountname > qa > sitename > cdn > png我们使用下面的命令将cdn内容从bitbucket同步到s3
aws s3 sync cdn/ s3://cdn-accountname/qa/sitename我想排除cdn/ /upload_qa中的"/upload_qa“和”/upload_qa“文件夹,并将它们同步到s3。我尝试了下面的命令,但没有一条有效。
aws s3 sync --exclude "cdn/upload" --exclude "cdn/upload_qa" cdn/ s3://cdn-accountname/qa/sitename
aws s3 sync --exclude=cdn/upload --exclude=cdn/upload_qa cdn/ s3://cdn-accountname/qa/sitename
aws s3 sync --exclude "*/upload/*" --exclude "*/upload_qa/*" cdn/ s3://cdn-accountname/qa/sitename
aws s3 sync --exclude 'upload/*' --exclude 'upload_qa/*' cdn/ s3://cdn-accountname/qa/sitename
aws s3 sync cdn/ s3://cdn-accountname/qa/sitename --exclude 'upload/*' --exclude 'upload_qa/*'
aws s3 sync cdn/ s3://cdn-accountname/qa/sitename --exclude "cdn/upload" --exclude "cdn/upload_qa"
aws s3 sync cdn/ s3://cdn-accountname/qa/sitename --exclude=cdn/upload --exclude=cdn/upload_qa
aws s3 sync cdn/ s3://cdn-accountname/qa/sitename --exclude "*/upload/*" --exclude "*/upload_qa/*" 建议使用可行的s3同步命令同步不包含子文件夹的文件夹。
发布于 2018-02-12 18:55:48
我相信您还需要在命令中使用--include标志(参见文档 )
aws s3 sync --include "*" --exclude "upload/*" --exclude "upload_qa/*" cdn/ s3://cdn-accountname/qa/sitename小心点命令
当存在多个筛选器时,规则是命令后面出现的筛选器优先于命令中前面出现的筛选器。
对此进行测试并进行良好的工作
home [~]: aws s3 ls s3://abc-fe-testing1
PRE folder1/
PRE folder2/
PRE folder3/
PRE folder4/
home [~]: aws s3 ls s3://abc-fe-testing2
home [~]: aws s3 sync s3://abc-fe-testing1 s3://abc-fe-testing2 --exclude "folder1*" --exclude "folder2*"
copy: s3://abc-fe-testing1/folder4/file_from_folder4.txt to s3://abc-fe-testing2/folder4/file_from_folder4.txt
copy: s3://abc-fe-testing1/folder3/file_from_folder3.txt to s3://abc-fe-testing2/folder3/file_from_folder3.txt
home [~]: aws s3 ls s3://abc-fe-testing2
PRE folder3/
PRE folder4/https://stackoverflow.com/questions/48753205
复制相似问题