关于文件同步的一个需求

2020-11-04 14:56:46 +08:00
 zxCoder

有个小需求,写一个命令行程序,可以将本地文件夹的文件给同步到远程数据库中,文件不大,都是 markdown 格式,但是我希望每次执行命令能够识别哪些是新加的文件,哪些是原来的文件但是修改了(文件名,文件内容),哪些已经删除了,想不出有什么好办法

1268 次点击
所在节点    问与答
12 条回复
starzh
2020-11-04 15:28:05 +08:00
说一下我的想法
在 Linux 里面每个文件有自己的 inode,每次同步前比较远程存的 inode 和本地文件的 inode 来判断新文件和删除的文件,判断原文件是否修改就需要算哈希了
qiayue
2020-11-04 15:31:20 +08:00
假设你原先有一个文件 v2ex.md 内容是 v2ex.com
后来你修改文件 v2ex.md 的内容为 www.v2ex.com
再后来你添加了一个新文件 v3ex.md 内容是 www.v3ex.com

那么程序怎们能够识别你这个 v3ex.md 到底是新文件,还是旧文件 v2ex.md 修改过来的呢?
kidlj
2020-11-04 15:32:56 +08:00
git?
Tianao
2020-11-04 15:57:35 +08:00
调用 diff 工具 /库。
shyling
2020-11-04 15:57:51 +08:00
学学 git 怎么做
DoctorCat
2020-11-04 16:13:02 +08:00
文件目录树对比
文件 hash 对比
求远程与本地文件名二者的差集...
rshun
2020-11-04 17:33:52 +08:00
rsync 呢?
fenglangjuxu
2020-11-04 18:55:46 +08:00
内容 md5?
widewing
2020-11-04 19:17:59 +08:00
这不就是 git 吗。。
dangyuluo
2020-11-04 19:18:39 +08:00
定义什么是数据库
felixcode
2020-11-04 19:23:58 +08:00
用 git 来管理
maxbon
2020-11-07 14:33:15 +08:00
inotify

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/721730

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX