Как использовать вариант пути unison с несколькими путями?

13

Я хочу синхронизировать следующие места, используя унисон:

  • / home / пользователь / аудиокниги с / поделился / аудиокниги
  • / home / user / Музыка с / shared / Музыка
  • / home / user / подкасты с / shared / подкасты

Какими будут параметры командной строки unison? Исходя из этого, я могу догадаться

Если заданы один или несколько параметров пути, то Unison будет синхронизировать только эти пути и их дочерние элементы. (Это полезно, например, для быстрой синхронизации всего одного каталога.) Обратите внимание, что параметры пути интерпретируются буквально - они не являются регулярными выражениями.

Вот мое предположение. Это верно?

unison -ui text /home/user /nocrypt/Shared -path Audiobooks -path Music -path Podcasts 

Я также мог бы использовать профиль. Я прочитал справочные документы и нашел пример, который я адаптировал. Я не уверен, что это правильно, однако.

Модифицировано из справочной документации: Вот более сложный профиль, иллюстрирующий некоторые другие полезные функции.

# Roots of the synchronization
root = /home/user
root = /shared

# Paths to synchronize 
path = Audiobooks
path = Music
path = Podcasts

Это верно?

К тому времени, как я закончил писать этот вопрос, я уже понял его. Я думаю, что оба метода выше верны. Самое замечательное в унисон состоит в том, что вы можете выполнить «пробный прогон» так же, как и при реальной синхронизации. Действие по умолчанию всегда «бездействие» (после всех изменений). Я собираюсь проверить это сейчас и посмотреть, работает ли это. Я думаю, мне не нужен ответ, но я оставлю этот вопрос здесь для справки (и отвечу на него сам с подтверждением того, сработало ли это).

MountainX
источник

Ответы:

5

Да, я подтверждаю, что то, что я изложил в вопросе, верно.

MountainX
источник
хахахахаха этот вопрос веселый. Это работает как параметры для профилей GUI, так как они в основном просто наборы командной строки?
яркая звезда
6
Это может быть улучшено путем доработки, так что вопрос читается как вопрос и аналогично для ответа.
Подозреваемый
1

Как и ваш вопрос, я выкладываю это для справки.

Вы можете смешивать и сопоставлять переменные. Если вы хотите использовать переменные оболочки , например, вы начинаете с профиля, как обычно, но передаете аргументы, которые содержат переменные оболочки, при вызове команды - причина в том, что вы не можете использовать эти переменные обычно из файла профиля.

root = $HOMEкажется, работает, но в root = ssh://host//$HOME, $HOMEне распознается как переменная.

Пример documents.prf:

# select folders
  path = Documents
  path = Desktop
# options
  batch = true

Команда, которую вы затем можете использовать, будет выглядеть примерно так:

unison documents -root $HOME -root ssh://user@remotehost//home/$USER
jhat
источник
1

Вы можете использовать его так, чтобы корень был корневым каталогом, и он может определять все пути, которые вы хотите ..

# Roots of the synchronization
root = /
root = ssh://x.x.x.X//

# Paths to synchronize
path = /etc/httpd
path = /var/www
Акшай Кумар
источник