假设情况是:
那么现在能想到的办法是每次从 A 同步到 B 后,列出 B 相比上次同步变更了的文件,只重新上传这些文件。Git 可以实现这个功能,但全盘 Git 好像不是什么好主意,而且 Git 会保留每个文件版本的副本( git-lfs 可以解决?)
所以好奇,有实现 git-status 功能的工具吗?或者说自己写个程序递归遍历 stat 信息就可以?
1
msg7086 2022-03-01 13:01:48 +08:00
rsync 不是能列表吗?
|
2
rekulas 2022-03-01 13:05:19 +08:00
我觉得你应该要解决的问题是找一款好用的同步软件,同步软件都是差量备份
不好用 /无法使用是什么情况,百度云阿里 oss 工具用起来都挺正常的 |
3
pocarisweat OP |
4
lx0758 2022-03-01 13:25:58 +08:00
Beyond Compare
|
5
Reficul 2022-03-01 15:57:31 +08:00
rsync
|
6
SSang 2022-03-01 16:32:15 +08:00
rsync 本身就能支持增量,你要获取列表 tee 日志输出一下就好了
oss 也支持增量,参考一下 api 文档,就是一个 -u 参数的事情 |
7
SSang 2022-03-01 16:32:46 +08:00
顺便,网盘你去找他的 api 文档,现在比较主流的网盘基本都是支持增量的
|
8
SSang 2022-03-01 16:36:14 +08:00
记错了,oss 不是查 api ,是 ossutil 工具
给你找了,https://www.alibabacloud.com/help/zh/doc-detail/179388.htm#concept-1937458 所以其实你根本也不需要获取更新列表,直接调对象存储或网盘的 API 或接口就好了 |
9
coder001 2022-03-02 01:14:53 +08:00 via Android
最简单的方法:存档属性
备份完了之后去掉存档属性 当文件变更之后系统会帮你加上存档属性 按属性筛选就知道那些文件变更了 |
10
hxy100 2022-04-23 23:39:18 +08:00
如果你的宿主机是 Linux ,可以直接使用 rsync+notify ;
如果是 Windows ,可以用 C#写个命令行程序后台进程守护即可,C#有个 FileSystemWatcher 类可以实现此功能; |