我在 OSX(或 Linux)上使用NOUNZ 数据编译器,它会自动生成大量的静态 HTML 文件目录结构(数十万甚至数百万文件)。
生成的目录树的简化示例如下所示...
通常,如果我想将整个树移动到远程 Web 服务器,我只需使用以下命令对树进行 tar 和压缩:
tar -cvf HTML.tar HTML
gzip HTML.tar
这会生成一个 tar-ed 和压缩文件,称为HTML.tar.gz
然后,我可以将上述文件通过 FTP 或 SCP 传输到远程 Web 服务器,然后我可以使用以下命令简单地解压缩文件:
gzip -d HTML.tar.gz
tar -xvf HTML.tar
这将导致 Web 服务器上的文件树与本地计算机上的数据编译器生成的文件树完全相同。
问题:我想使用 Amazon Web Services (AWS) 简单存储解决方案 (S3) 来模拟与上述相同的行为。
我的问题:模仿相同(或类似行为)的最佳方法是什么,我可以将整个 tar-ed 和压缩树从本地服务器移动到 AWS S3,然后解压缩并解压缩我的文件以重新创建整个目录结构体?
tar
and命令不是 S3 CLI API的gzip
一部分,因此我需要找到一种可靠的方法来移动可以包含数百万个文件的目录结构(这可能每天发生一次)。如果不先进行焦油化和压缩,移动和重新创建所有内容会非常缓慢。
注意:仅供参考,当数据编译器运行时,它总是会删除整个旧树并重新生成一个全新的树,从而为所有目录和文件生成全新的 inode。这意味着“增量”副本和同步是不可行的。我每次都需要移动整棵树。