Уменьшение времени синхронизации жесткого диска с помощью Unison

Уменьшение времени синхронизации жесткого диска с помощью Unison

Я использую Unison для синхронизации своей музыкальной коллекции с несколькими разными источниками, а именно с парой компьютеров по SSH и жестким диском.

Я заметил, что обновления SSH невероятнобыстрыйпо сравнению с синхронизацией жесткого диска, возможно, потому что rsync(или что там работает под капотом) перемещает только то, что изменилось. Добавьте к этому тот факт, что я могу запустить несколько действий копирования SSH одновременно, и копирование на локальный жесткий диск USB остается в пыли, поскольку оно копирует только один файл за раз и каждый раз перезаписывает весь файл.

При изменении кодировки тегов ID3v1 (для тестов совместимости) все изменения моей музыкальной библиотеки, насчитывающей около 5000 файлов, необходимо скопировать на другие компьютеры и жесткий диск.

Есть ли у меня возможность:

  1. увеличить количество одновременных копий; и
  2. копировать только те части файлов, которые были изменены?

Вот мой профиль в Unison:

# 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 изменяет файлы размером более 1 Мб на месте, rsyncне передавая их полностью заново.

решение2

Убедитесь, что fastcheckопция включена (она должна быть включена по умолчанию, если обе стороны — системы Unix). По умолчанию Unison просматривает все содержимое каждого файла на каждой стороне. Это безопаснее: это гарантирует, что после запуска Unison содержимое будет одинаковым на обеих сторонах. Это также быстрее, если время изменения файла может измениться по ложным причинам. Для больших файлов это может быть медленно. С этой fastcheckопцией Unison будет считать файл неизмененным, если его размер и модификация не изменились (rsync выполняет эту оптимизацию по умолчанию).

решение3

Посмотрите man rsyncи найдите whole fileопцию. --no-whole-fileвозможно, это то, что вы ищете. Я думаю, у Unison есть похожая опция.

Связанный контент