默认情况下,"s3同步“不会在目标目录中创建空文件夹
aws s3 sync s3://source-bucket s3://dest-bucket --include "*" --recursive我已经搜索了好几个小时了,在使用"sync“或"cp”时,似乎找不到任何可以解决空文件夹/目录的问题。
fwiw,我确实看到了以下消息,可能与空文件夹有关,但很难确定,因为源存储桶相当大且笨重。
Completed 4132 of 4132 part(s) with -5 file(s) remaining发布于 2014-12-06 00:08:26
S3没有目录的概念。S3是一个对象存储,其中每个对象都由一个键标识。关键字可以是类似于"logs/2014/06/04/system.log“的字符串
基于S3的大多数图形用户界面(AWS CLI、AWS控制台、Cloudberry、Transmit等)将"/“字符解释为目录分隔符,并在目录结构中”按原样“显示文件列表。
然而,在内部,没有目录的概念,S3有一个平面名称空间。有关更多详细信息,请参阅http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html。
了解了这一点,我对空目录不同步并不感到奇怪,因为S3上没有目录
发布于 2015-06-09 17:30:34
到目前为止没有办法,但功能请求是开放的,以添加复制空目录的功能。
发布于 2016-06-20 05:02:35
目前还没有正式的方法。
你可以使用S3cmd代替官方的亚马逊网络服务客户端,我已经读到它支持同步空目录。
或者,您可以使用bash将文件添加到空目录中:
find . -type d -empty -exec touch {}/empty.txt \;离题但相关:我不希望复制符号链接的文件(当链接的文件是本地文件时,这是默认设置),但我确实希望保留结构(--no-follow symlink只是忽略链接)。因此,使用一行代码将链接复制到文本文件中:
find . -type l -exec bash -c 'readlink "$1" > "$1.symlink"' _ {} \;https://stackoverflow.com/questions/27303346
复制相似问题