あるサーバーから別のサーバーに何百万ものファイルを転送する

あるサーバーから別のサーバーに何百万ものファイルを転送する

2台のサーバーがあります。そのうちの1つには1,500万個のテキストファイル(約40GB)があります。別のサーバーに移動しようとしています。圧縮してアーカイブを移動してみようかと思いましたが、それが良い考えではないということに気づきました。

だから私は次のコマンドを使用しました。

scp -r usrname@ip-address:/var/www/html/txt /var/www/html/txt

しかし、このコマンドで約50,000個のファイルだけが転送され、接続が失われたことを確認しました。

ファイル全体のコレクションを転送するためのより良いソリューションはありますか?rsyncこれは、接続が失われたときに転送されていないファイルを転送するために同様の方法を使用することを意味します。別の接続が中断されると、すでに正常に転送されたファイルは無視され、ファイルを転送するようにコマンドを再入力します。

scpでは、常に最初のファイルから始まるので不可能です。

ベストアンサー1

あなたが言ったように、以下を使用してくださいrsync

rsync -azP /var/www/html/txt/ username@ip-address:/var/www/html/txt

オプションは次のとおりです。

-a : enables archive mode, which preserves symbolic links and works recursively
-z : compress the data transfer to minimise network usage
-P : to display a progress bar and enables you to resume partial transfers

/@aimが彼の答えで述べたように、このソースディレクトリに末尾があることを確認してください。

詳しくはマニュアルページ

おすすめ記事