CentOSサーバー間でファイルを転送する必要があります。約10分ごとに5MBのファイルを転送します。暗号化は必要ありません。
ファイルを高速で転送するのは簡単でしたか?
ftpより簡単なものはありますか?
ありがとう!
CentOSサーバー間でファイルを転送する必要があります。約10分ごとに5MBのファイルを転送します。暗号化は必要ありません。
ファイルを高速で転送するのは簡単でしたか?
ftpより簡単なものはありますか?
ありがとう!
回答:
rsync
ftpまたはtftpを使用する前に、rsyncを使用します。
より多くのオプションと(私の経験では)より信頼性の高い転送。
tar over sshは問題ありませんが、netcatを介したtar over TCPは、オーバーヘッドをできるだけ低く抑えることができます。これが1回限りの場合は、これを試してみてください。
受信機で:
nc -l -p 8989 | tar x
送信者:
tar cf - /source-path | nc (receiving host ip address) 8989
これがあなたが定期的にやろうとしていることなら、おそらくrsyncを使うでしょう。
2人がsshよりtarに言及しましたが、その方法については言いませんでした。レコードの場合、基本的な手順は次を実行することです。
tar cf - files... | ssh remotehost 'cd /destination && tar xvf -'
または、受信側から転送を開始する場合:
ssh remotehost 'cd /source && tar cf - files' | tar xvf -
Evanのnetcatソリューションよりもこの方法で行うことの利点は、1つのコンピューターからすべてを開始できることです。2つのnetcat呼び出しを調整する必要はありません。これを自動的に実行する必要がある場合は、パスフレーズなしで接続できるsshキーを設定し、これらの接続にそのキーを使用できます。
sshには、データストリームを圧縮する-Cオプションがあります。または、GNU tarの組み込み圧縮機能を使用できます。
tar zcf - files... | ssh remotehost 'cd /destination && tar xzvf -'
Rsyncは別のオプションですが、その強力な利点は、受信側に既に存在するファイルを更新することです。反対側にまだ存在しないファイルを転送するために使用する場合、scpまたはtar / sshよりも遅いことがわかりました。
私は正直にscp
、tar
以上を使用しますssh
。暗号化は速度を低下させますが、セットアップと使用の容易さ、信頼性、および(当然のことながら)親しみやすさから、本当にその速度が必要でない限り、喜んで攻撃を受けます。
デフォルトよりも速い暗号を使用するように指示することで、ssh転送を高速化することもできます。通常はデフォルトであり、通常は3des
実行できます-c des
。したがって、明らかに高速になりますが、-c blowfish
厳密にテストしていませんが、同様に高速で表されます。
(SSHv1の時代にはよくできましたが-c none
、だれかがそれを悪いジュジュだと決めたと思います。)
Rsyncは良い方法です。同じファイルを複数回転送することに気付いた場合、manページのこの引用で示されているように、コピーの速度が上がるからです。
rsync is a program that behaves in much the same way that rcp does, but
has many more options and uses the rsync remote-update protocol to
greatly speed up file transfers when the destination file is being
updated.
The rsync remote-update protocol allows rsync to transfer just the dif-
ferences between two sets of files across the network connection, using
an efficient checksum-search algorithm described in the technical
report that accompanies this package.
FTPは非常に単純ですが、さらに簡単な方法は、1台のマシンでNFS共有を作成し、それを他のマシンにマウントすることです。次に、ファイルをコピーすると、あるディレクトリから別のディレクトリにcpを実行します。
https://www.npmjs.org/package/gist-cli
https://github.com/settings/applications#personal-access-tokens
またはこれ:
https://github.com/defunkt/gist
gistコマンドを使用してアップロードおよびダウンロードします