10
用rsync进行双向同步
我有一个文件夹a /和一个远程文件夹A /。现在,我在Makefile上运行以下内容: 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 当我制作sync-music时,它首先将所有差异从服务器发送到本地,然后将相反的内容从本地发送到服务器。 仅当将来只有更新或新文件时,此方法才能很好地工作。如果有删除,则不执行任何操作。 在rsync中,有--delete和--delete-after选项可以帮助实现我想要的功能,但事实是,它在2向同步中不起作用。 如果我想删除Syn上的服务器文件,则删除本地文件后,它可以工作,但是如果由于某种原因(稍后说明),我有一些不在服务器中但在本地存在的文件被删除,我想在本地删除它们,而不是服务器复制(发生这种情况)。 我在上下文中有3台机器: 桌面 笔记本 家庭服务器 因此,有时,服务器将具有通过笔记本同步删除的文件,例如,然后,当我与桌面运行同步时(已删除的服务器文件仍然存在),我希望这些文件被删除而不是被删除。再次复制到服务器。 我想这只有在数据库和操作轨迹下才有可能:P 还有更简单的解决方案吗?谢谢。