Unison でハードドライブの同期時間を短縮する

Unison でハードドライブの同期時間を短縮する

私は Unison を使用して、音楽コレクションをいくつかの異なるソース、つまり SSH 経由のコンピューター数台とハード ドライブに同期しています。

私が気づいたことの一つは、SSHのアップデートが信じられないほど速いハード ドライブの同期と比較すると、rsync変更されたものだけを移動する (または裏で実行されているもの) ためである可能性があります。また、複数の SSH コピー アクションを同時に実行でき、ローカル USB ハード ドライブへのコピーは、一度に 1 つのファイルのみがコピーされ、毎回ファイル全体が上書きされるため、はるかに簡単です。

ID3v1 タグのエンコーディングを変更する場合 (互換性テストのため)、約 5000 個のファイルの音楽ライブラリの変更全体を他のコンピューターとハード ドライブにバックアップする必要があります。

以下の方法はありますか?

  1. 同時コピー数を増やす。
  2. 変更されたファイルの部分だけをコピーしますか?

これが私のユニゾンプロフィールです:

# Unison preferences
batch = false
confirmbigdel = true
copymax = 10
logfile = .unison/unison-music.log
maxthreads = 30
perms = 0
sortbysize = true

root = /home/me/Music
root = /media/truecrypt1/media/music

答え1

copythreshold = 1024

次に、unison は 1Mb を超えるファイルを、rsync完全に再転送するのではなく、その場で変更します。

答え2

このオプションがオンになっていることを確認してくださいfastcheck(両側が Unix システムの場合はデフォルトでオンになっているはずです)。デフォルトでは、Unison は両側のすべてのファイルの内容全体を調べます。これはより安全です。Unison の実行後、両側の内容が同じであることを保証します。また、ファイルの変更時刻が不当な理由で変更される可能性がある場合も高速です。大きなファイルの場合、これは遅くなる可能性があります。このfastcheckオプションを使用すると、Unison は、ファイルのサイズと変更が変更されていない場合はファイルを変更されていないと見なします (rsync はデフォルトでこの最適化を行います)。

答え3

オプションを見てman rsync検索してくださいwhole file--no-whole-fileおそらくあなたが探しているものでしょう。unison にも同様のオプションがあると思います。

関連情報