如何使用 AWS 命令​​行在保留目录结构的同时复制文件

Posted

技术标签:

【中文标题】如何使用 AWS 命令​​行在保留目录结构的同时复制文件【英文标题】:How to copy file while preserving directory structure using AWS command line 【发布时间】:2017-06-22 23:26:03 【问题描述】:

我的本​​地计算机中有以下目录:

dir1
  |
  |__ randomfile.jpg
  |__ dir2
        |
        |__ file1.txt
        |__ file2.txt
        |__ pict.png

我想要做的是复制所有带有*.txt 的文件并将子目录结构保留到Amazon S3 存储桶。我怎样才能做到这一点?

在 S3 的一天结束时。我们想找到这个文件和目录结构:

 dir1
      |
      |__ dir2
            |
            |__ file1.txt
            |__ file2.txt

使用标准 Unix 命令我可以做到这一点:

find . -name '*.txt' -exec cp --parents \\ /target \;

但不确定如何处理AWS command line.

实际上有大约 10Tb 大小的文件要传输。

【问题讨论】:

可能是***.com/questions/8659382/…的副本 【参考方案1】:

只需使用同步:

aws s3 sync src/ s3://mybucket --exclude "*" --include "*.txt"

Exclude include doc

【讨论】:

作为sync 的替代品(用于重复同步),您可以使用aws s3 cp --recursive ... 来完成相同的工作。 @JohnRotenstein 您现在可以排除和包含但仅适用于同步而不适用于 cp 或 mv! @KaranShah 与 cp 一起使用你需要`--recursive` @Ôrel recursive 将复制所有内容,它不能排除问题中提到的随机文件 我的观点是排除和包含由 cp 支持,但在这里保持结构你需要同步我同意

以上是关于如何使用 AWS 命令​​行在保留目录结构的同时复制文件的主要内容,如果未能解决你的问题,请参考以下文章

从命令行在 sublime 中打开 git diff

用命令行在本地创建一个库并上传到Github

如何从命令行在 Windows 上运行 .class 文件?

从命令行在任何目录中启动 apache 服务器

如何使我的命令行在具有扩展名(.sh)和名称如“weird.sh.sh.sh”的文件上工作

如何使用特定用户的命令行在 Windows 中查看文件夹权限?