ホスティング プロバイダーを切り替えており、何百万ものアップロードされたファイルを新しいサーバーに転送する必要があります。すべてのファイルは同じディレクトリにあります。はい。あなたはそれを正しく読みました。;)
過去に私はこれをしました:
- ソース サーバーからすべてのファイルを圧縮します。
scp
新しいサーバーへのzip- 解凍する
- ディレクトリを適切な場所に移動
- なんらかの理由で、ステップ 1 の zip ファイルには常にパスが含まれており、mv する必要があります。
前回これを行ったときは、完了するまでに約 4 ~ 5 日かかりましたが、それは現在の約 60% でした。
私はより良い方法を望んでいます。何を指示してるんですか?
ファイル構造はハッシュ化されています。このようなもの:AAAAAAAAAA.jpg
-ZZZZZZZZZZ.txt
これが私たちが投げかけている1つのアイデアです:
3 文字のプレフィックスに基づいて、zip を大量のミニ zip に分割します。何かのようなもの:
AAAAAAAAAA.jpg - AAAZZZZZZZ.gif => AAA.zip
理論上の長所:
- 複数のzipを一度に転送できるようにして、転送を高速化できます
- 失敗した転送によって失われる時間を制限できます。(転送が最終的に失敗するまで 2 日間待つのはひどいことです)
理論上の短所:
- zip はワイルドカード ( ) を使用してファイルを検索する必要があるため、最初の zip の速度が大幅に低下する可能性があります
AAA*
。おそらく、1 つだけではなくすべての CPU を使用して、一度に多くの zip スレッドを実行することで相殺されます。 - 複雑?
rsync と scp についても検討しましたが、各ファイルを手動で転送する費用が心配です。また、リモート サーバーは空であるため、既に存在するものについて心配する必要はありません。
どう思いますか?どのようにしますか?
(はい、最終的にはこれらを Amazon S3 に移動し、ディスクを発送するだけですが、それまでの間、昨日アップする必要があります!)