如何在多个路径中使用统一的路径选项?


13

我想使用同步来同步以下位置:

  • / home / user /带有/ shared / Audiobooks的有声读物
  • / home / user /带有/ shared / Music的音乐
  • / home / user /带有/ shared / Podcast的播客

统一命令行参数是什么?基于此,我可以猜测

如果给出了一个或多个路径首选项,则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

那是对的吗?

当我写完这个问题时,我几乎已经知道了。我认为以上两种方法都是正确的。关于统一的伟大之处在于,您可以像执行实际同步一样进行“空转”。默认操作始终为“无操作”(在显示所有更改之后)。我现在要对其进行测试,看看是否可行。我猜我不需要答案,但是我将在此留出这个问题以供参考(然后自己回答并确认是否可行)。

Answers:


5

是的,我确认我在问题中所说的是正确的。


哈哈哈哈哈这个问题好笑。由于它们基本上只是命令行集,因此可以用作GUI配置文件的参数吗?
明亮的星星

6
可以通过重做来改进此问题,以便使问题看起来像是问题,答案也是如此。
嫌疑犯2015年

1

像您的问题一样,我将其发布以供参考。

您可以混合和匹配变量。例如,如果要使用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

1

您可以像使用根目录一样使用它,并且可以定义所需的所有路径。

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

# Paths to synchronize
path = /etc/httpd
path = /var/www
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.