35GB の圧縮データ (7zip を使用) をラップトップからリモート サーバーに転送する最も速い方法を教えてください。コマンドも投稿してください。SCP を使用したことがありますが、非常に遅いです。rsync の方が優れていますが、速度が約 1MB/分なので、非常に長い時間がかかる可能性があります。もっと良い方法はありますか?
答え1
ftp と http が最も高速です。ftp は少数の大きなファイルの場合には高速で、http は多数の小さなファイルの場合には高速です (http トラフィックの性質を考えると当然のことです)。
注意: ご利用のインターネット プロバイダーによっては、アップロード速度が制限される場合があります。プロバイダーが速度またはデータ上限を課している場合は、問題にならない可能性があります。
他の方法も使用できる可能性があります。http://moo.nac.uci.edu/~hjm/HOWTO_move_data.html
答え2
35GiB の場合、1MB/分 (17kB/秒) で約 25 日かかります。時間がかかるため、簡単に再開できる方法に焦点を当てます。私の知る限り、scp は除外され、次の候補を検討します。
- http(s)
- rsync
- スニーカーネット
単一のファイルを提供するための Web サーバーの設定は非常に簡単です。マシンがインターネットからアクセスできる限り、標準の Ubuntu インストールでは構成なしで実行できます。ファイルを配置する/var/www/html/
(またはそこにリンクする) だけです。
中断された場合にダウンロードを再開するために使用しますwget -c http://example.com/file.tar
。これは非常に確実に機能します。これは 1 回限りのことなので、SSL 証明書を気にする必要はありません。セキュリティと整合性が心配な場合は、データを暗号化して署名してください。
Rsync は SSH 経由で転送されるため、安全です。シームレスな継続をサポートします。再開をサポートし、安心してファイルを転送できます。rsync -P localfile [email protected]:remotefile
しかし、25 日というのは長い時間です。おそらく、ドライブを USB ドライブにコピーして、郵送で送った方が早いでしょう。64 GiB の USB ドライブは 20 ドル程度で手に入ります。DHL で送れば、3 ~ 4 日以内にほぼどこにでも届きます。
つまり、この量のデータと現在の接続速度で最速のオプションは、おそらくそれを外付けドライブに保存して郵送することです。
または、接続が良好な場所に行くと、100Mb/s の接続で 35GiB なら 1 時間もかかりません。
ファイルの暗号化と署名には、gpg を使用できます。キー ペアを設定し、ファイルを暗号化して署名します。リモート エンドでは署名を検証し、復号化します。これにより、メールや http などの信頼できないチャネルを介して転送する場合のセキュリティと整合性が確保されます。rsync を使用する場合は、ssh がこれを処理します。
答え3
Panther が述べたように、FTP
や などの暗号化されていないオプションHTTP
が最も高速です。ただし、インターネット上で公開したくないものがある場合は、暗号化された方法を使用することをお勧めします。簡単な PHP ログイン ページ (if ステートメントを使用) を作成し、nginx
または をapache
HTTPS 用にインストールして構成し、自分だけがアクセスできるダウンロード リンクを用意するなどの方法を試すことができます。HTTPS は圧縮を使用するため高速であり、 などのプログラムを使用してaxel
複数の接続を使用してそのファイルをインストールできます。
最も簡単な答えは、CPU ではなくインターネット接続がボトルネックであると仮定すると、フラグSFTP
を使用し-C
て圧縮を有効にすることですが、すでに圧縮されているため、さらに圧縮できる量はかなり少なくなります。最も簡単な方法は、より効率的な方法でファイルを再度圧縮することです。