¿Cómo usar la opción de ruta de Unison con múltiples rutas?

13

Quiero sincronizar las siguientes ubicaciones usando unísono:

  • / inicio / usuario / Audiolibros con / compartido / Audiolibros
  • / inicio / usuario / Música con / compartido / Música
  • / home / user / Podcasts con / shared / Podcasts

¿Cuáles serían los parámetros de la línea de comandos al unísono? Basado en esto, puedo adivinar

Si se dan una o más preferencias de ruta, entonces Unison sincronizará solo estas rutas y sus hijos. (Esto es útil para realizar una sincronización rápida de un solo directorio, por ejemplo). Tenga en cuenta que las preferencias de ruta se interpretan literalmente, no son expresiones regulares.

Aquí está mi suposición. ¿Es eso correcto?

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

También podría usar un perfil. Leí los documentos de ayuda y encontré un ejemplo que adapté. Sin embargo, no estoy seguro de que sea correcto.

Modificado de los documentos de ayuda: Aquí hay un perfil más sofisticado, que ilustra algunas otras características útiles.

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

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

¿Es eso correcto?

Cuando terminé de escribir esta pregunta, ya la tengo resuelta. Creo que los dos métodos anteriores son correctos. Lo mejor del unísono es que puede hacer una "ejecución en seco" de la misma manera que lo haría con una sincronización real. La acción predeterminada siempre es "sin acción" (después de presentar todos los cambios). Voy a probarlo ahora y ver si funciona. Supongo que no necesito una respuesta, pero dejaré esta pregunta aquí como referencia (y la responderé yo mismo con una confirmación de si esto funcionó o no).

MountainX
fuente

Respuestas:

5

Sí, estoy confirmando que lo que dije en la pregunta es correcto.

MountainX
fuente
jajajajaja esta pregunta es graciosa. ¿Funciona como parámetros para los perfiles de la GUI, ya que básicamente son solo conjuntos de líneas de comando?
estrella brillante
66
Esto podría mejorarse al volver a trabajar para que la pregunta se lea como una pregunta y también para la respuesta.
sospechoso
1

Al igual que su pregunta, estoy publicando esto como referencia.

Puedes mezclar y combinar variables. Si desea usar variables de shell , por ejemplo, comienza con un perfil como de costumbre, pero pasa los argumentos que contienen variables de shell al invocar el comando, debido a que no puede usar esas variables normalmente desde un archivo de perfil.

root = $HOMEparece funcionar, pero en root = ssh://host//$HOME, $HOMEno se reconoce como una variable.

Ejemplo documents.prf:

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

El comando que podría usar se vería así:

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

Puede usarlo como si esa raíz fuera el directorio raíz y puede definir todas las rutas que desee.

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

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