Правильный синтаксис для rootalias
rootalias = //new-hostname//new-path -> //old-hostname//old-path
(Найдите имя хоста вашего локального компьютера, набрав hostname
в командной строке.)
Так что в моем случае, когда оба диска смонтированы на локальном компьютере, я должен изменить свою командную строку следующим образом:
Old:
unison -root "/media/frisch/DATEN_SSD/ISAS/" -root "/media/frisch/DATEN/Dok-Daniel/ISAS/"
Новое:
unison -root "/mnt/DATEN_SSD/ISAS" -root "/mnt/DATEN/Dok-Daniel/ISAS" \
-rootalias "//frisch-ThinkPad-P51//mnt/DATEN_SSD/ISAS -> \
//frisch-ThinkPad-P51//media/frisch/DATEN_SSD/ISAS" \
-rootalias "//frisch-ThinkPad-P51//mnt/DATEN/Dok-Daniel/ISAS -> \
//frisch-ThinkPad-P51//media/frisch/DATEN/Dok-Daniel/ISAS"
Тогда я могу синхронизировать файлы на новом месте без медленного перечитывания.
Однако, имейте в виду, предупреждение от автора Unison.
Предупреждение : Опция rootalias
опасна и должна использоваться, только если вы уверены, что знаете, что делаете. В частности, его следует использовать только в том случае, если вы уверены, что либо (1) исходный корень и новый псевдоним ссылаются на один и тот же набор файлов, либо (2) файлы были перемещены, так что исходное имя теперь недопустимо и никогда не будет использоваться снова. (Если исходный корень и псевдоним относятся к разным наборам файлов, детектор обновлений Unison может запутаться.) После введения нового rootalias
, будет хорошей идеей запустить Unison несколько раз в интерактивном режиме (с флагом batch
). и т. д.) и тщательно проверьте, чтобы все выглядело разумно, в частности, чтобы обнаружение обновлений работало должным образом.