linux大ファイル転送

1133 ワード

Mysqlレプリケーション、サーバの初期化、バックアップ/リストアなどの大ファイルレプリケーションは一般的なタスクであり、実際のタスクは以下のように要約できます.
1、(オプション)圧縮ファイル
2、ファイルの送信
3、ファイルを解凍する
4、ファイルの整合性の検証
いくつかの方法を紹介します.
1、最も簡単なもの:
圧縮してからscpでサーバに送信
gzip -c /folder/bigfiles/ > bigfiles.gz
scp bigfiles.gz [email protected]:/folder/bigfiles/

次に、サーバで解凍します.
gunzip /folder/bigfiles/bigfiles.gz

この方法は、圧縮、レプリケーション、解凍などのシリアル化操作に関連し、書き込みディスクの速度が遅いため、効率が高くありません.
 
2、一歩一歩踏み出す方法、
gzip -c /folder/bigfiles | ssh [email protected] "gunzip -c - > /folder/bigfiles"

上記の方法では、圧縮とセキュリティ認証が行われていますが、時間がかかります.次にncを用いて伝送を行う.
3,ncの使用:
サーバ側で実行:nc-l-p 12345|gunzip-c->/folder/bigfiles
クライアントで実行:gzip-c-/folder/bigfiles|nc-q server.host 123456