最佳答案
我有一个文件夹和一个远程文件夹。 我现在在 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 选项来帮助完成我想要的任务,但问题是,它不能在双向同步中工作。
如果我想删除一个 syn 上的服务器文件,当本地文件已经被删除,它的工作,但如果,出于某种原因(解释后) ,我有一些文件不在服务器上,但存在本地和他们被删除,我想本地删除他们,而不是服务器复制(因为它发生)。
问题是我有三台机器:
因此,有时,服务器会有文件被删除与笔记本同步,例如,然后,当我运行与我的桌面同步(其中删除的服务器文件仍然存在) ,我希望这些文件被删除,不要被复制到服务器。
我想这只有在数据库和操作跟踪的情况下才可能实现
有更简单的解决办法吗? 谢谢你。