OSX (または Linux) でNOUNZ データ コンパイラを使用しています。これは、静的 HTML ファイル (数十万、時には数百万のファイル) の巨大なディレクトリ構造を自動的に生成します。
生成されたディレクトリ ツリーの簡単な例は、次のようになります...
通常、ツリー全体をリモート Web サーバーに移動する場合は、次のコマンドを使用してツリーを tar および圧縮するだけです。
tar -cvf HTML.tar HTML
gzip HTML.tar
これにより、tar された圧縮ファイルが生成されます。HTML.tar.gz
次に、上記のファイルをリモート Web サーバーに FTP または SCP で送信し、次のコマンドを使用してファイルを単純に untar および uncompress できます。
gzip -d HTML.tar.gz
tar -xvf HTML.tar
これにより、ローカル マシン上のデータ コンパイラによって生成されたものとまったく同じファイル ツリーが Web サーバー上に作成されます。
問題: Amazon Web Services (AWS) Simple Storage Solution (S3) を使用して、上記と同じ動作を模倣したいと考えています。
私の質問:同じ (または同様の動作) を模倣する最良の方法は何ですか。tar され圧縮されたツリー全体をローカル サーバーから AWS S3 に移動し、ファイルを圧縮解除して展開し、ディレクトリ全体を再作成します。構造?
およびコマンドは S3 CLI API の一部tar
でgzip
はないため、何百万ものファイルを含む可能性のあるディレクトリ構造を移動する確実な方法を見つける必要があります (おそらく 1 日に 1 回発生します)。最初にtarと圧縮を行わずにすべてを移動して再作成すると、非常に時間がかかります。
注: 参考までに、データ コンパイラが実行されると、常に古いツリー全体が削除され、新しいツリー全体が再生成されるため、すべてのディレクトリとファイルに対して完全に新しい inode が作成されます。これは、「増分」コピーと同期が実行できないことを意味します。毎回、ツリー全体を移動する必要があります。