Como usar a opção de caminho de uníssono com vários caminhos?

13

Quero sincronizar os seguintes locais usando o uníssono:

  • / home / user / Audiolivros com / compartilhados / Audiolivros
  • / home / user / Música com / shared / Música
  • / home / user / Podcasts com / compartilhado / Podcasts

Quais seriam os parâmetros da linha de comando uníssono? Com base nisso, posso adivinhar

Se uma ou mais preferências de caminho forem fornecidas, o Unison sincronizará apenas esses caminhos e seus filhos. (Isso é útil para fazer uma sincronização rápida de apenas um diretório, por exemplo.) Observe que as preferências de caminho são interpretadas literalmente - elas não são expressões regulares.

Aqui está o meu palpite. Isso está correto?

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

Eu também poderia usar um perfil. Li os documentos da ajuda e encontrei o exemplo que adaptei. Não tenho certeza se está correto, no entanto.

Modificado nos documentos da ajuda: Aqui está um perfil mais sofisticado, ilustrando alguns outros recursos úteis.

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

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

Isso está correto?

Quando terminei de escrever esta pergunta, eu já a tinha descoberto. Eu acho que os dois métodos acima estão corretos. O melhor do uníssono é que você pode executar uma "execução a seco" da mesma maneira que faria uma sincronização real. A ação padrão é sempre "sem ação" (depois que todas as alterações são apresentadas). Vou testá-lo agora e ver se funciona. Acho que não preciso de uma resposta, mas deixarei esta pergunta aqui para referência (e responda a mim mesma com uma confirmação de se isso funcionou ou não).

MountainX
fonte

Respostas:

5

Sim, estou confirmando o que afirmei na pergunta está correto.

MountainX
fonte
hahahahaha essa pergunta é hilária. Isso funciona como parâmetros para os perfis da GUI, pois são basicamente apenas conjuntos de linhas de comando?
estrela brilhante
6
Isso poderia ser melhorado com o retrabalho, para que a pergunta pareça uma pergunta e da mesma forma para a resposta.
Suspeito #
1

Como sua pergunta, estou postando isso para referência.

Você pode misturar e combinar variáveis. Se você deseja usar variáveis ​​de shell , por exemplo, começa com um perfil como de costume, mas passa os argumentos que contêm variáveis ​​de shell enquanto invoca o comando - o motivo é que você não pode usá-las normalmente em um arquivo de perfil.

root = $HOMEparece funcionar, mas em root = ssh://host//$HOME, $HOMEnão é reconhecido como uma variável.

Exemplo documents.prf:

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

O comando que você poderia usar seria mais ou menos assim:

unison documents -root $HOME -root ssh://user@remotehost//home/$USER
jhat
fonte
1

Você pode usá-lo como esse diretório raiz é raiz e pode definir todos os caminhos que você deseja.

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

# Paths to synchronize
path = /etc/httpd
path = /var/www
Akshay Kumar
fonte