Unisonは、ファイル同期プログラムの一つ。2つのディレクトリ間でファイルを同期させるもので、ディレクトリは別のコンピュータ上でもよいし、可搬媒体などの別の記憶装置でもよい。Unix系のオペレーティングシステム(Linux、macOS、Solarisなど)やWindowsで動作する。

概要 Unisonは双方向ファイル同期ツールとして初めて広く使われたツールであり、その手のツールの標準的機能の大部分を備えていた。現在でも広く使われている。開発はペンシルベニア大学の工学部で行われた。

複数のコンピュータ機器でファイル群の同じバージョンを保持することができる。言い換えれば、ユーザーはどちらが最新だったか知らなくとも、2つの機器間で同期すると両方の機器のファイルが最新バージョンであることを保証できる。

Unisonは他のファイル同期ツールとは以下の点で異なる。 多くのオペレーティングシステムで動作し、プラットフォーム間でファイル同期可能である。したがってWindowsの動作するノートパソコンとUNIXサーバの間でも同期できる。 両方でファイルが更新している場合、コンフリクトを検出し、それをユーザーに対して表示する。 TCP/IPプロトコル上で通信するため、インターネットに接続されたシステム間で同期できる。暗号化されたSSHコネクション上でトンネリングすれば、セキュアなデータ転送も可能である。 アンドリュー・トリジェルの開発したrsyncのアルゴリズムを使っている。このアルゴリズムはファイルの変更された部分だけを転送するので、ファイル全体をコピーするよりも高速である。 プログラムやシステムがクラッシュしたり、通信障害が発生したときも堅牢であるように設計されている。 オープンソースである。 OCaml言語で書かれている。

Unisonのようなファイル同期ツールは、バージョン管理システム(CVSやSubversionなど)、分散ファイルシステム(Codaなど)、ミラーリングユーティリティ(rsyncなど)と似ている。これらはいずれもファイル群の同期を目的としている。しかし、ファイル同期ツールは、バージョン管理などのオーバーヘッドなしでディレクトリ構造の双方の変更に対応可能である。

関連項目 rsync zsync ファイル同期

外部リンク Unison homepage Harmony Third party contributors List of synchronization software Unisonマニュアル私的日本語訳 ハチハチイチナナイチ

Unison を使う際の注意点 File synchronization Philip Guo - Using Unison Example: How to set up Unison in a USB Stick