rsyncのOSX用フロントエンドであるarRsyncですが、普通のユーザ向けにWindowsのRealSyncと同じようなソフトとして紹介されているにも関わらず、使い方をちゃんと解説しているページって意外とないんですね。インストールしてみたけど、「Bidirectional Synchroniseってどういう意味やねん」とか思ってる人もいるかもしれません。
僕も細かいことを説明するほどのやる気はないのですが、自分が詰まったことを整理して書き出してみようと思います。Synchronise、Backup、Mergeの意味がすぐ整理できるなら本当は解説なんかいらないのかもしれませんけど、情報系の勉強していた人でもパッと出てこない人もいるかもしれませんので。
現時点での最新版であるVersion 0.4.1を基に書いています。ダウンロードは↓からどうぞ。
さて、最初はまずSourceとDestinationを決定するわけですが、+ボタンを押したときに出てくるダイアログの説明。例えば、
- File/Folderに「data」
- Sourceに「/Users/saburahu」
- Destinationに「/Volumes/Backup」
と表示されている場合に、File/Folderで記述されたファイルやフォルダのSourceおよびDestionationでの状態をチェックし、同期やバックアップ、マージされることを示しています。一回追加すると、修正はできないようです。
まあ、書き出してみればすごく当然のように思えるのですが、2つある「Browse」ボタンのうち、上のボタンはSourceとFile/Folderの両方の指定を、下のボタンはDestinationのみを指定することになっています。これはWindowsで使っていたRealSyncとは異なっています。
arRsyncでは上のボタンで「/Source/バックアップしたいファイル・フォルダ」を指定し、下のボタンで「/Destinaiton」で指定することになるんですが、RealSyncでは「/Source/バックアップしたいフォルダ」と「/Destination/バックアップしたいフォルダ」を指定するUIになっています。arSyncの方式では複数のファイル・フォルダを指定することができる利点がありますが、わかりやすさではRealSyncの方がいいかなぁ、という気もします。
さて、本題の3つの方法の説明に入りましょう。とりあえず、次の4つの条件でどのようなファイル操作が行われるかを書き出してみました。
- SourceにあってDestinationにないファイル
- DestinationにあってSourceにないファイル
- 同じ名前ファイルでSourceの方が更新日時が新しい
- 同じ名前ファイルでDestinationの方が更新日時が新しい
Bidirectional Synchronise(双方向同期)
- SourceにあってDestinationにないファイル
- SourceからDestinationにファイルがコピーされる。
- DestinationにあってSourceにないファイル
- DestinationからSourceにファイルがコピーされる。
- 同じ名前ファイルでSourceの方が更新日時が新しい
- SourceからDestinationにファイルが上書きコピーされる。
- 同じ名前ファイルでDestinationの方が更新日時が新しい
- DestinationからSourceにファイルが上書きコピーされる。
Unidirectional Backup(一方向バックアップ)
- SourceにあってDestinationにないファイル
- SourceからDestinationにファイルがコピーされる。
- DestinationにあってSourceにないファイル
- Destinationのファイルが削除される。
- 同じ名前ファイルでSourceの方が更新日時が新しい
- SourceからDestinationにファイルが上書きコピーされる。
- 同じ名前ファイルでDestinationの方が更新日時が新しい
- SourceからDestinationにファイルが上書きコピーされる。
Unidirectional Merge(一方向マージ)
- SourceにあってDestinationにないファイル
- SourceからDestinationにファイルがコピーされる。
- DestinationにあってSourceにないファイル
- 何もしない。
- 同じ名前ファイルでSourceの方が更新日時が新しい
- SourceからDestinationにファイルが上書きコピーされる。
- 同じ名前ファイルでDestinationの方が更新日時が新しい
- 何もしない。
ちなみに、Unidirectional Backupは他と比べてやってることが単純なためか、時間がかかりません。