![使用本地网络和云在两台计算机之间同步文件夹](https://linux22.com/image/1570049/%E4%BD%BF%E7%94%A8%E6%9C%AC%E5%9C%B0%E7%BD%91%E7%BB%9C%E5%92%8C%E4%BA%91%E5%9C%A8%E4%B8%A4%E5%8F%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B9%8B%E9%97%B4%E5%90%8C%E6%AD%A5%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我正在寻找一种方法来执行以下操作:
- 通过使用本地网络将一台机器上的任何更改传输到另一台机器上,将笔记本电脑上的文件夹 A 与 PC 上的文件夹 B 同步。
- 如果我在另一台机器关闭时修改其中一个文件夹,则更改将上传到 Dropbox、Google Drive 或 OneDrive 等云存储,并在另一台机器打开后下载到该机器。同步更改后,数据可以从云中删除。
我可以通过为每个文件夹打开本地网络共享并在每台计算机上使用 FreeFileSync 将本地文件夹同步到另一台计算机来实现 #1。但是,我希望我的更改能够同步,而不必同时打开两台计算机。
文件夹太大,无法完全保存在云中,但我每天所做的更改却可以保留在云中。
答案1
这可以通过 rsync 完成,但它要求发送端有两个数据副本。
- 创建数据的两个相同的本地副本:“工作”和“原始”。
- 以您想要的任何方式编辑“工作”。
rsync -a --write-batch="diff-file" working/ original/
- 这会将您所有的编辑从“工作”同步到“原始”,但还会创建一个包含以下内容的“diff-file”文件仅有的差异。
- 将“diff-file”上传至云端。
在接收机器上:
- 从云端下载“diff-file”。
rsync -a --read-batch="diff-file" localcopy/
- 删除“diff-file”。