Comment utiliser l'option de chemin d'unison avec plusieurs chemins?


13

Je souhaite synchroniser les emplacements suivants à l'unisson:

  • / home / utilisateur / Livres audio avec / partagé / Livres audio
  • / accueil / utilisateur / Musique avec / partagé / Musique
  • / home / utilisateur / Podcasts avec / partagé / Podcasts

Quels seraient les paramètres de ligne de commande à l'unisson? Sur cette base, je peux deviner

Si une ou plusieurs préférences de chemin sont données, Unison synchronisera uniquement ces chemins et leurs enfants. (Cela est utile pour effectuer une synchronisation rapide d'un seul répertoire, par exemple.) Notez que les préférences de chemin sont interprétées littéralement — ce ne sont pas des expressions régulières.

Voici ma conjecture. Est-ce exact?

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

Je pourrais également utiliser un profil. J'ai lu les documents d'aide et j'ai trouvé un exemple que j'ai adapté. Je ne suis pas sûr cependant que ce soit correct.

Modifié à partir des documents d'aide: Voici un profil plus sophistiqué, illustrant d'autres fonctionnalités utiles.

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

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

Est-ce exact?

Au moment où j'ai fini d'écrire cette question, je l'ai à peu près compris. Je pense que les deux méthodes ci-dessus sont correctes. La grande chose à propos de l'unisson est que vous pouvez faire un "essai à sec" de la même manière que vous feriez une synchronisation réelle. L'action par défaut est toujours "aucune action" (une fois que toutes les modifications sont présentées). Je vais le tester maintenant et voir si cela fonctionne. Je suppose que je n'ai pas besoin de réponse, mais je vais laisser cette question ici pour référence (et y répondre moi-même en confirmant si cela a fonctionné ou non).

Réponses:


5

Oui, je confirme que ce que j'ai dit dans la question est correct.


hahahahaha cette question est hilarante. Est-ce que cela fonctionne comme des paramètres pour les profils GUI, car ce ne sont essentiellement que des ensembles de lignes de commande?
étoile brillante

6
Cela pourrait être amélioré en retravaillant afin que la question se lise comme une question et de même pour la réponse.
suspectus

1

Comme votre question, je poste ceci pour référence.

Vous pouvez mélanger et assortir des variables. Si vous souhaitez utiliser des variables shell , par exemple, vous commencez avec un profil comme d'habitude, mais passez les arguments qui contiennent des variables de shell tout en appelant la commande - la raison étant que vous ne pouvez pas utiliser ces variables normalement à partir d'un fichier de profil.

root = $HOMEsemble fonctionner, mais dans root = ssh://host//$HOME, $HOMEn'est pas reconnu comme une variable.

Exemple documents.prf:

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

La commande que vous pourriez alors utiliser ressemblerait à ceci:

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

1

Vous pouvez l'utiliser comme cette racine est le répertoire racine et définir tous les chemins d'accès que vous voulez.

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

# Paths to synchronize
path = /etc/httpd
path = /var/www
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.