具有选择性双向同步的 Unison 中的星形拓扑?

Star topology in Unison with selective bidirectional syncs?

假设我有一台服务器,我想在其中保留我的中央 Unison 存储库,并且我有两台机器,每台机器上都有目录 Documents.config。我想将 Documents.config 同步到服务器,但只有 Documents 应该在两台客户端计算机之间同步。所以服务器上应该有三个目录, Documents.config_machine1.config_machine2,其中Documents在两台客户端机器之间是通用的,而每个.config是特定的两台客户端机器。这可能与一致吗?

您可以 运行 在每台机器上使用两个不同的 Unison 配置文件。所以在你的服务器上,你的文件看起来像

Unison
 \_Common
 |  \_Documents
 \_Machine1
 |  \_.config
 \_Machine2
    \_.config

然后在每台机器上您将有两个不同的 Unison profilescommon.prf 用于同步 Documents 文件夹,specific.prf 用于同步该机器的 .config 文件夹。

感觉这个解决方案不是个好主意。至少,必须有一种更简洁的方法来执行这个想法,但我不确定它是什么。


你可以在你的两台机器上用符号 link 做一件可爱的事情。你可以让你服务器上的文件看起来像这样,

Unison
 \_Documents
 \_.config_machine1
 \_.config_machine2

然后在您的每台客户端计算机上,您可以将 .config 文件夹重命名为 .config_machine1 并创建一个名为 .config 的符号 link 到 .config_machine1.

cp /path/to/the/dotconfig/folder
mv .config .config_machine1
cd /tmp
ln -sd /full/path/to/.config_machine1 
mv .config_machine1 /path/to/the/dotconfig/folder/.config 

然后让每台机器同步其 Documents 文件夹和自己的 .config_machine${i} 文件夹。使用符号 links,当您计算机上的程序在 .config 文件夹中查找其设置时,它将被 link 编辑为 .config_machine${i}