比如说AB两地, 有需要通过U盘同步的1000G文件, 但是每次变化量都很小, 只有1G左右,
有没有软件可以只在U盘里记录要删除文件, 复制新增和改变的文件, 来实现两地文件同步?
U盘的方案没听说过,只听说过rsync有网络的差分同步。
这种差分同步需要能同时访问两个状态才能产出差分吧
Win10之前有个功能,叫公文包。现在已被砍
我用的是 FreeFileSync 它是免费软件,很好用。
如果你买的移动硬盘是大厂(西数、希捷之类的)的话,会赠送 GoodSync 软件的授权,商业软件在易用性上会更方便。
我的意思是U盤裡只需要這1G檔案,以及存放刪除/修改檔案資訊的空間,沒有發生變化的檔案根本不會存放在U盤,而是根據檔案的建立/修改日期,或是複製到同步資料夾的日期是否大於上次同步日期來判斷。
就像現在,用A地的檔案資訊,以及一份類似Everything的離線檔案表裡的B地檔案資訊,來判斷需要往B地新增、刪除或修改哪些檔案。接著記錄要刪除的檔案資訊,再把新增或變更的檔案複製到U盤。
在B地時,透過這些記錄來刪除檔案,並將新增/變更的檔案覆蓋上去。沒有修改過的檔案,從來就不會複製到U盤上。
FreeFileSync 能做到嗎?
可以。
首先的话, 因为U盘里并没有完整的全部文件, 要先记录一下本地同步文件夹下的文件信息吧, 以便和他地的文件进行比较
创建日期和更改日期能判断, 但有些是从同磁盘剪切过来的话, 就不能通过创建日期和更改日期来判断, 所以必须要记录本地同步文件夹下所有文件的文件名/大小/创建日期和更改日期(如果严格的话,需要记录hash的)
没找到相应的功能, 哪款软件能做到的话,方便截个图么?
这不就是git吗?首先确认两边的文件是相同的,然后把那个.git文件夹拷贝过去。以后要同步的时候,生成一个diff patch,然后apply到另一设备上。diff patch只保留修改部分,大致是1G*1.2倍的空间,是一个纯文本文件可以被U盘拷贝走
用 Everything 导出 EFU 文件表保存两地快照,再用脚本按“相对路径+大小+修改时间”比较:新增/修改文件复制到U盘,删除项只记清单,未变化文件完全不进U盘
那么你这个需要前段操作,是需要在A地还是B地呢
两边都不用手动操作 Everything。它支持命令行生成 EFU。B 地一键生成最新 EFU 到U盘;到 A 地一键生成 A 的 EFU、自动比较并打出差分包;回 B 地再一键删除/覆盖并重新生成新的 EFU。路径配置一次后,日常基本就是 A、B 两边各双击一次。
哪边都行啊, 两边文件大致是相同的, 有冲突的话, 手动处理
如果用 diff 的话,
需要本地同时有新旧两个版本的全部文件吗?
还是需要做版本控制,记录文件的变化?
建议去做版本,因为这样你的可操作空间大