Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Rsyncとは - わかりやすく解説 Weblio辞書
[go: Go Back, main page]

Rsyncとは? わかりやすく解説

rsync

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/12/27 07:58 UTC 版)

差分符号化 > rsync
rsync
開発元 アンドリュー・トリジェル(Andrew Tridgell), Paul Mackerras, Wayne Davison
最新版
安定版
3.4.1[1] / 2025年1月15日 (11か月前)
リポジトリ
プラットフォーム クロスプラットフォーム
種別 データ転送/差分バックアップ、オープンソースソフトウェア
ライセンス GNU General Public License
公式サイト rsync.samba.org (英語)
テンプレートを表示

rsync(アールシンク) は、UNIXシステムにおいて、差分符号化を使ってデータ転送量を最小化し、遠隔地間のファイルディレクトリ同期を行うオープンソースソフトウェアのアプリケーションソフトウェアである。類似のプログラムやプロトコルにはない rsync 独自の特徴として、ミラーサイトとの転送が双方向に高々1回で済む点がある。rsync はディレクトリ内容を表示し、ディレクトリやファイルをコピーできる。オプションでデータ圧縮再帰も指定可能。

rsync プロトコルのデーモン rsyncd がデフォルトで使うTCPポート番号は 873 である。rsync はローカルなディレクトリ間の同期にも使えるし、RSHSSHなどのリモートシェル経由でも使える。後者の場合、rsync のクライアントプログラムはローカルとリモートの両方にインストールされている必要がある。

GNU General Public License でリリースされており、自由ソフトウェアである。

アルゴリズム

rsync は、転送先のコンピュータが何らかの構造体(ファイルなど)の別バージョンを既に持っている場合、その構造体を効率的に転送するアルゴリズムを使っている。このアルゴリズムは、オーストラリアのプログラマアンドリュー・トリジェルが発明した。

受信側は、そのファイルの複写を固定長のチャンク(塊)に重ならないように分割し、チャンクごとに2つのチェックサムを計算する。この分割長を とする。チェックサムは、MD4 ハッシュ関数と弱いローリングチェックサムである。受信側は送信側に対して、それらチェックサムを送る。

送信側は、自身の持つバージョンのファイルについて、長さ の各チャンクごとにローリングチェックサムを計算する。このときチャンクは重なるものも含めて計算する。重なりのあるチャンクについてのローリングチェックサムの計算は効率的にできる。バイト位置 から までのローリングチェックサムが であったとき、 から までのローリングチェックサムは、 番目のバイトの内容、 番目のバイトの内容だけから計算でき、全バイトの内容を調べる必要がない。したがって、1 バイト目から 25 バイト目までのローリングチェックサムを既に計算していた場合、2 バイト目から 26 バイト目までのローリングチェックサムは、単に 1 バイト目と 26 バイト目の値がわかれば計算できる。

rsync で使われているローリングチェックサムはマーク・アドラー(Mark Adler)の adler-32 チェックサムに基づいている。adler-32 は、フレッチャーのチェックサムに基づいており、zlib でも使われている。

次に送信側は受信側が送ってきたチェックサムと一致するものがあるかを調べる。一致する場合、その位置について MD4 チェックサムを計算し、受信側が送ってきた MD4 の値と比較する。

一致が見つけられない場合、送信側は自身の持つファイルの部分にマージのための手順を付けて受信側に送信し、ファイル内容が全く同じになるようにする。

送信側と受信側のファイルの内容が多くの部分で一致する場合、同期のために転送が必要となるデータ量は少なくなる。

rsync のこのようなアルゴリズムはアプリケーションとしての rsync の中核であり、2つのコンピュータ間での TCP/IP 上の転送量を最適化するものである。rsync は他にもデータ転送やバックアップに役立つ機能を備えている。

  • Zstandard, LZ4, zlib を使ったブロック単位の圧縮/伸張
  • sshstunnel などのプロトコルをサポートし、暗号化が可能

利用

初期の利用形態は、UNIXシステム群のうちの1台をサーバとし、他のシステムとの間でミラーリングバックアップを行うものであった。cronのようなスケジューリング機構を使えば、自動スケジューリングされ暗号化された複数台の同時ミラーリングが可能である。

派生

rdiff は、rsync のアルゴリズムを使ってファイル A からファイル B への差分ファイルを生成するものである(diff に似ているが、出力形式が異なる)。その差分ファイルをファイル A に適用すると、それをファイル B に変換できる(patch に類似)。

diff とは異なり、差分ファイル生成過程は2段階に分かれる。まず、ファイル A からより小さいシグネチャファイルを生成し、次にそのシグネチャファイルとファイル B から差分ファイルを生成する。また、diff とは異なり、rdiff はバイナリファイルにも適用可能である。

rdiff を使って、rdiff-backup というユーティリティも作られている。これはファイルやディレクトリのバックアップをネットワーク経由で保守できるものである。rdiff-backup はバックアップと共に rdiff の差分ファイル群を保持しているので、任意の時点のバックアップが可能である。

rdiff-backup からの派生として Duplicity がある。事前に各ブロックのハッシュを生成して暗号化しておき、サーバ上にそれらを格納しておく。増分バックアップに際しては、サーバ上の暗号化されたハッシュを利用する。データの残りも暗号化されて記憶される。

歴史

rsync は1996年6月19日に発表された[2]。オリジナルの作者はアンドリュー・トリジェルと Paul Mackerras であった。

関連項目

脚注

  1. ^ [rsync-announce rsync 3.4.1 released]” (2025年1月15日). 2025年1月15日閲覧。
  2. ^ First release of rsync - rcp replacement 1996年6月19日

外部リンク





固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Rsync」の関連用語

Rsyncのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Rsyncのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのrsync (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2026 GRAS Group, Inc.RSS