Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Rsyncの原理と基本チュートリアル

Rsyncの原理と基本チュートリアル

  
の使用Rs​​yncはローカルホストとリモートホストの間でファイルを同期させるためにRsyncアルゴリズムを使用します。だから速度はかなり速いです。コアとなるアルゴリズムは、ファイルAとファイルBへのアクセスで、andという名前の2台のコンピュータ間で類似のファイルAとBが同期していることを前提としています。

Rsyncは、いわゆる "Rsyncアルゴリズム"を使用します。 'ローカルホストとリモートホストの間でファイルを同期させるために、このアルゴリズムは2つのファイルの異なる部分のみを一度に送信するのではなく、送信するので速度が非常に速いです。

アルゴリズムの核心:

同様のファイルAとBが、&AとBの2台のコンピュータ間で同期されているとします。ここで、AはファイルAにアクセスします。;はファイルBにアクセスできます。また、ホストαとβとの間のネットワーク帯域幅が狭いと仮定する。その後、rsyncアルゴリズムは、次の5つのステップで完了します。

1.βファイルBは、固定サイズSバイトの重複しないブロックのセットに分割されます。最後の部分はSより小さくてもかまいません。

2.β各分割データブロックで2つのチェックを実行します。1つは32ビットローリング弱チェック、もう1つは128ビットMD4強チェックです。

3.βこれらの確認結果をαに送信します。

4.ファイルBのサイズSのすべてのデータブロックを検索し(オフセットはオプションで、必ずしもSの倍数ではない場合があります)、ファイルBのブロックと同じものを見つけます。弱いチェックコードと強いチェックコードデータブロック。この作業は、ローリング検証を使用して迅速に実行できます。
<p> 5.αは、β上のファイルAのバックアップを生成するための一連の命令に送信される。ここでの各命令は、ファイルBが再送信のない特定のデータブロックを持っていることの証明、またはファイルBのいずれかと確実に一致しないデータブロックのどちらかです。

Rsyncの利点は次のとおりです。

1.ミラーリングによってディレクトリツリーとファイルシステム全体を保存できます。

2.元のファイルのアクセス権、時間、および時間を簡単に管理できます。ソフトリンク、ハードリンクなど。

3.特別な許可なしにインストール可能;

4.最適化されたプロセス、高いファイル転送効率;

5. Rcp、sshが使用可能もちろん、ファイルを転送する他の方法も直接ソケット接続を介して行うことができます。

6.匿名転送をサポートします。




基本構文 - リモートシェルによる方法:

- rsync [OPTION] [USER @] HOST:SRC DEST - リモートシェルの内容をローカルマシンにコピーするためにリモートシェル(ssh、rshなど)を使用します。 SRCアドレスパスは、単一のコロン&'::で区切られています。 - rsync [OPTION] SRC [USER @] HOST:DEST - ローカルマシンの内容をリモートマシンにコピーするには、リモートシェル(rsh、sshなど)を使用します。 DESTアドレスパスは、単一のコロン':'で区切られています。 - rsyncデーモン経由:

- rsync [オプション] [ユーザー@] HOST :: SRC DESTまたは - rsync [オプション] rsync://[ユーザー@]ホスト[:PORT] /SRC [DEST] - リモートのrsyncサーバーからローカルマシンにファイルをコピーします。 SRCアドレスパスは二重コロン' ::'で区切られています。 - rsync [OPTION] SRC [USER @] HOST :: DESTまたは - rsync [OPTION] SRC rsync://[USER @] HOST [:PORT] /DEST - ローカルマシンからリモートrsyncサーバにファイルをコピーします。 DESTアドレスパスは、二重コロン' ::'で区切られています。

DESTパラメータを指定せずにrsyncコマンドでSRCパラメータのみを指定した場合は、同期コピーの代わりにソースファイルリストが表示されます。 rsyncには多くのオプションがありますが、よく使用されるオプションは次のとおりです。



rsync共通パラメータ


オプションの説明-a、–アーカイブアーカイブモード。-rlptgoD -vと同等、詳細情報の出力と同等。-r、–再帰的にサブディレクトリを再帰的に処理-R、– relativeは相対パス情報を使用する。-b、–バックアップバックアップの作成-z、–圧縮は転送中にバックアップファイルを圧縮します。– deleteはディレクトリの同期に使用され、SRCに存在しないファイルはDESTから削除します。進行状況はバックアッププロセスを示します。



rsyncモード

rsync [オプション]… SRC [SRC]… [ユーザー@]ホスト:DEST

rsync [オプション]… [USER @] HOST:SRC DEST

rsync [OPTION]… SRC [SRC]… DEST

rsync [OPTION]… [USER @] HOST :: SRC [DEST] ]

rsync [オプション]… SRC [SRC]… [ユーザー@] HOST :: DEST

rsync [オプション]… rsync://[ユーザー@] HOST [: [PORT] /SRC [DEST]


rsyncには、6つの異なる動作モードがあります。

ローカルファイルをコピーする:この操作モードは、SRCパス情報もDESパス情報にもコロン「:」区切り文字が含まれていない場合に開始されます。

ローカルマシンの内容をリモートマシンにコピーするには、リモートシェルプログラム(rsh、sshなど)を使用します。このモードは、DSTパスアドレスにコロン「:」区切り文字が1つ含まれている場合に開始されます。

リモートシェルプログラム(rsh、sshなど)を使用して、リモートマシンの内容をローカルマシンにコピーします。このモードは、SRCアドレスパスにコロン「:」区切り文字が1つ含まれている場合に開始されます。

リモートのrsyncサーバーからローカルマシンにファイルをコピーします。このモードは、SRCパス情報に「:: ::」区切り文字が含まれている場合に開始されます。

ローカルマシンからリモートのrsyncサーバーにファイルをコピーします。このモードは、DSTパス情報に「:: ::」区切り文字が含まれている場合に開始されます。

リモートマシンのファイルのリスト。これはrsync転送と似ていますが、コマンド内のローカルマシン情報を省略するだけです。




使用例: - サーバーのファイルとリストを閲覧する - #rsync 9.186.110.53 ::サーバーで利用可能なモジュールの一覧を閲覧するコメント情報 - #rsync [email protected] :: www /サーバーのwwwモジュールでディレクトリとファイルの一覧を表示する(rsyncdユーザー認証を使用) - #rsync [email protected]:/var /www /html /View Service /var /www /htmlディレクトリの内容(ibmuserなど、認証にサーバーのシステムユーザーを使用)

- クライアントとサーバーのデータの同期を維持する - #rsync -avz [email protected] :: Www //backup1 /は、バックグラウンドサービスモードを使用してサーバーのwwwモジュールの内容をローカルの/backup1ディレクトリにバックアップし、バックアップ時に元の権限、属性、​​所有者、およびシンボリックリンクを保持し、データ転送を高速化します。 - #rsync– avz [email protected]:/var /www /html /backup2 /sshを使用してリモートの/var /www /htmlディレクトリをローカルの/backup2 /ディレクトリにバックアップします - #rsync -avz– delete [email protected] :: www //backup3 /リモートのwwwモジュールをlocal /backup3 /ディレクトリにバックアップし、ディレクトリを同期してローカルディレクトリ内の余分なファイルを削除します。

サーバー上のデータに問題がある場合は、クライアントのデータを使用してサーバーを復元する必要がありますクライアントがサーバーへの書き込みアクセス権を持っている限り、rsyncコマンドのSRCパラメータとDESTパラメータを交換して復元できます。

Copyright © Windowsの知識 All Rights Reserved