Unison( http://www.cis.upenn.edu/~bcpierce/unison/ )を使用すると、データが台無しになったという事実に興味がありますか?その信頼性について知りたい。
Unisonの使用をやめた理由は次のとおりです。
私は2004年のようなものからユニゾンのオンとオフを使用しています。別の質問への回答で、マシン間でデータをバックアップ/同期するためのツールとしてrsyncにうなずきました。
この間ずっと、ユニゾンはファイルの内容を細断するという意味で私のデータを台無しにすることはありませんでした。ただし、使用中のファイル、アクセス許可、クロスプラットフォームの問題など、エッジの状態に対してある程度の感度が表示されました。ファイルをUnisonと同期するときにエラーが発生した場合は、これを注意深く調査する必要があります。ログを保存します。
数週間前、私はUnisonの使用をやめ、rsyncに戻りました。主な理由:
Ttarchalaと同じくらい長い間使用していませんが、小さいファイルセットではうまく機能し、データを失うことはありません。
活発な開発は行っていませんが、ある程度は維持されています。過去数か月間にソースツリーに更新/バグ修正がコミットされており、現在のバイナリを取得できます ここ (たとえば)。
また、ファイル全体をチェックサムするのではなく、サイズと日付でファイルの変更を検出するfastcheck/pretendwinを設定することで、パフォーマンスを向上させることができることにも注意してください。
私はかなり長い間それを使用しました(デスクトップとラップトップの間で同期するために)。他の人が書いているように、同期中は非常に注意深く、ファイルを失うことはありませんでした。問題が発生した場合は、(時間のかかる)再同期が必要になる場合がありますが、最終的にはすべてが解決されます。
通常の操作では、高速かつ安全です。
私はMacでUnisonを少なくとも8年間使用しています。 Unisonが破損したり、ファイルが失われたりしたことはありません。早い段階で、Unisonがリソースフォークを理解できないという問題が発生し、同期に失敗しました。
Mac B&W G3のFinderが、メガバイトごとに1〜2バイトをランダムに変更することで、コピーされたファイルをサイレントに破損していることがわかった後、Unisonを使い始めました。 (Rev 1ロジックボード上のFirewireのハードウェアの問題が原因です。)その問題以来、私はバックアップコピーの比較について本当に、本当に妄想的でした。Unisonはそれをうまくやってくれます。
これらはユニゾンの失敗です:
Windowsで2つのCygwinディレクトリを同期すると、Cygwinが使用するシンボリックリンクが破損し、コンテンツが破損します。
C:\Program Files\Unison>"Unison-2.40.102 Text.exe" c:\cygwin socket://xps:4321/c:\cygwin -path bin
UNISON 2.40.102 started propagating changes at 03:32:12.55 on 28 Feb 2013
[BGN] Updating file bin/X from C:/cygwin to //xps/C:/cygwin
$ ls -l /bin/X //xps/c/cygwin/bin/X
-rwxr-xr-x+ 1 Administrators ???????? 19 Feb 28 03:32 //xps/c/cygwin/bin/X
lrwxrwxrwx 1 Chloe None 8 Jan 28 18:35 /bin/X -> XWin.exe
$ stat /bin/X //xps/c/cygwin/bin/X
File: `/bin/X' -> `XWin.exe'
Size: 8 Blocks: 1 IO Block: 65536 symbolic link
Device: f8e5edb8h/4175818168d Inode: 1125899907027010 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 1006/ Chloe) Gid: ( 513/ None)
Access: 2013-01-28 18:35:38.648870400 -0500
Modify: 2013-01-28 18:35:38.648870400 -0500
Change: 2013-01-28 18:35:38.648870400 -0500
Birth: 2013-01-28 18:35:38.648870400 -0500
File: `//xps/c/cygwin/bin/X'
Size: 19 Blocks: 1 IO Block: 65536 regular file
Device: 808a8f0bh/2156564235d Inode: 4222124650737757 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 544/Administrators) Gid: (4294967295/????????)
Access: 2013-02-28 03:32:20.619899500 -0500
Modify: 2013-02-28 03:32:20.619899500 -0500
Change: 2013-02-28 03:32:20.629884400 -0500
Birth: 2013-02-26 13:21:32.963302500 -0500
サイズの変更と権限に注意してください。宛先マシンで、コマンドを実行しようとすると失敗します。
Chloe@xps /usr/bin
$ X
bash: ./X: cannot execute binary file
シンボリックリンクを正しくコピーするには、rsyncを使用する必要があります。
$ rsync -arvz /cygdrive/c/cygwin/bin/ //xps/c/cygwin/bin
sending incremental file list
./
X -> XWin.exe
もう1つの失敗は、Unisonがデフォルトで変更時刻を保持しないことです(ただし、-times
オプションを使用して、ユニゾン同期ファイルの変更時刻を作成することは可能です)。同期する場合、変更された時間は宛先でのファイル作成時間に設定されます。
$ unison 'c:\Sites' '\\xps\c\Sites'
...
new file ----> Ruby-env.sh
...
[BGN] Copying Ruby-env.sh from c:/Sites to //xps/c/Sites
[END] Copying Ruby-env.sh
$ ls -l Ruby-env.sh //xps/c/sites/Ruby-env.sh
----------+ 1 ???????? ???????? 188 Feb 28 02:48 //xps/c/sites/Ruby-env.sh
-rw-r--r--+ 1 Chloe None 188 Feb 27 03:06 Ruby-env.sh
理論的には、次の場合にデータが失われる可能性があります