我想使用 unison 同步以下位置:
- /home/user/Audiobooks 与 /shared/Audiobooks
- /home/user/Music 与 /shared/Music
- /home/user/Podcasts 与 /shared/Podcasts
unison 命令行参数是什么?基于此,我可以猜测
如果指定了一个或多个路径首选项,Unison 将仅同步这些路径及其子路径。(例如,这对于快速同步一个目录非常有用。)请注意,路径首选项是按字面意思解释的 — 它们不是正则表达式。
这是我的猜测。对吗?
unison -ui text /home/user /nocrypt/Shared -path Audiobooks -path Music -path Podcasts
我也可以使用配置文件。我阅读了帮助文档并找到了一个我改编的示例。但我不确定它是否正确。
根据帮助文档修改:这是一个更复杂的配置文件,说明了一些其他有用的功能。
# Roots of the synchronization
root = /home/user
root = /shared
# Paths to synchronize
path = Audiobooks
path = Music
path = Podcasts
那是对的吗?
当我写完这个问题时,我基本上已经搞清楚了。我认为上述两种方法都是正确的。unison 的优点在于,您可以像进行实际同步一样进行“试运行”。默认操作始终是“不执行任何操作”(在呈现所有更改之后)。我现在要测试它,看看它是否有效。我想我不需要答案,但我会把这个问题留在这里作为参考(并亲自回答并确认这是否有效)。
答案1
是的,我确认我在问题中陈述的内容是正确的。
答案2
就像您的问题一样,我发布此内容以供参考。
您可以混合搭配变量。如果您想使用shell 变量例如,您像往常一样从配置文件开始,但在调用命令时传递包含 shell 变量的参数 - 原因是您无法在配置文件中正常使用这些变量。
root = $HOME
似乎有效,但在中root = ssh://host//$HOME
,$HOME
不被识别为变量。
例子documents.prf
:
# select folders
path = Documents
path = Desktop
# options
batch = true
然后你可以使用的命令如下所示:
unison documents -root $HOME -root ssh://user@remotehost//home/$USER
答案3
您可以像根目录一样使用它,并且可以定义您想要的所有路径。
# Roots of the synchronization
root = /
root = ssh://x.x.x.X//
# Paths to synchronize
path = /etc/httpd
path = /var/www
答案4
# Roots of the synchronization
root = /
root = ssh://x.x.x.X//
# Paths to synchronize
path = etc/httpd
path = var/www
上述代码适用于我的 unison 配置文件配置,记住无需启动的路径斜杠。