12

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

  • /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

Это верно?

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

3 ответа3

4

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

1

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

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

# Paths to synchronize
path = /etc/httpd
path = /var/www
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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .