我需要一种方法来在 3 个地方之间同步文件,所有文件都可以被修改。
所有地方都在 Linux 上,同步工具必须从 cronjob 运行 - 而不是手动!
我尝试过unison
,但是无法让它在 3 个不同的地方工作(我尝试使用 a<=>b 和 b<=>c 同步进行配置,但是不起作用)。
有什么工具可以做这样的事情吗?
答案1
你尝试过 Linux 版 Dropbox 吗?
答案2
Unison 会执行此操作。在存储同步数据的 Unison 文件夹内(osx 路径:~/Library/Application Support/Unison),创建两个 .prf 文件。
例子1.prf
# Unison preferences file
root = /Users/XXXX/Desktop/a
root = /Users/XXXX/Desktop/b
perms = 0
#confirmbigdel = false
例子2.prf
# Unison preferences file
root = /Users/XXXX/Desktop/b
root = /Users/XXXX/Desktop/c
perms = 0
#confirmbigdel = false
现在运行“unison example1”和“unison example2”,所有文件夹将同步。
如果您从最新的 svn 构建 unison,则可以更进一步,让所有文件夹在文件更改时立即更新。使用最新的 svn,您可以使用标志“-repeat watch”(例如“unison exampleX -repeat watch”)来监视文件夹的更改,前提是 fsmonitor.py 文件位于您执行 Unison 的同一 bin 目录中。
如果所有机器上都安装了相同的版本,这也可以通过 ssh 工作...基本上就是一个私人的 Dropbox。设置一个服务器可能会有好处,它始终连接到互联网以随时接受更改,所有计算机都会连接到该服务器以查找更改。
答案3
NFS
或者Samba
,不需要 cron 作业。
答案4
使用像 projectlocker 或 cvsdude 这样的免费服务,Subversion 怎么样?它的扩展性非常好。