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).
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 = $HOME
parece funcionar, pero enroot = ssh://host//$HOME
,$HOME
no se reconoce como una variable.Ejemplo
documents.prf
:El comando que podría usar se vería así:
fuente
Puede usarlo como si esa raíz fuera el directorio raíz y puede definir todas las rutas que desee.
fuente