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).
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 = $HOME
semble fonctionner, mais dansroot = ssh://host//$HOME
,$HOME
n'est pas reconnu comme une variable.Exemple
documents.prf
:La commande que vous pourriez alors utiliser ressemblerait à ceci:
la source
Vous pouvez l'utiliser comme cette racine est le répertoire racine et définir tous les chemins d'accès que vous voulez.
la source