我有一个文件夹a /和一个远程文件夹A /。 我现在在一个Makefile运行是这样的:双向同步rsync
get-music:
rsync -avzru server:/media/10001/music/ /media/Incoming/music/
put-music:
rsync -avzru /media/Incoming/music/ server:/media/10001/music/
sync-music: get-music put-music
当我进行同步音乐,它首先获取所有不同点从服务器到本地,然后相反,发送所有不同点从局部到服务器。
只有在未来只有更新或新文件的情况下,这项工作才会有效。如果有删除,它不会执行任何操作。
在rsync中有--delete和--delete-after选项来帮助完成我想要的东西,但事情是,它不适用于双向同步。
如果我想删除Syn上的服务器文件,当本地文件被删除时,它可以正常工作,但如果出于某种原因(解释后),我有一些文件不在服务器中,但存在于本地他们被删除,我希望在本地删除它们,而不是服务器复制(因为它发生)。
事情是我必须在上下文中3台机器:
- 桌面
- 笔记本
- 家庭服务器
因此,有时,服务器将有一个用笔记本电脑中删除的文件同步,例如,然后,当我运行与我的桌面同步(删除的服务器文件仍然存在)我想这些文件被删除,而不是被复制到服务器。
我想这是唯一可能与操作的数据库和追踪:P
任何简单的解决方案? 谢谢。
我有这个相同的问题。你有没有找到解决方案,mwm? – mouche 2011-02-12 23:53:03
不幸的是,没有。 – mwm 2011-02-15 19:46:16
我其实现在做了。我试图实现一个类似经验的Dropbox,并提出了一个涉及统一(使用rsync)和lsyncd来监视文件更改的解决方案。我还发现这个解决方案的其他人和更多的技巧»»http://www.cerebralmastication.com/2011/04/fast-two-way-sync-in-ubuntu/ – mwm 2011-04-26 01:56:35