有个小需求,写一个命令行程序,可以将本地文件夹的文件给同步到远程数据库中,文件不大,都是 markdown 格式,但是我希望每次执行命令能够识别哪些是新加的文件,哪些是原来的文件但是修改了(文件名,文件内容),哪些已经删除了,想不出有什么好办法
1
starzh 2020-11-04 15:28:05 +08:00
说一下我的想法
在 Linux 里面每个文件有自己的 inode,每次同步前比较远程存的 inode 和本地文件的 inode 来判断新文件和删除的文件,判断原文件是否修改就需要算哈希了 |
2
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 修改过来的呢? |
3
kidlj 2020-11-04 15:32:56 +08:00
git?
|
4
Tianao 2020-11-04 15:57:35 +08:00 via iPhone
调用 diff 工具 /库。
|
5
shyling 2020-11-04 15:57:51 +08:00
学学 git 怎么做
|
6
DoctorCat 2020-11-04 16:13:02 +08:00
文件目录树对比
文件 hash 对比 求远程与本地文件名二者的差集... |
7
rshun 2020-11-04 17:33:52 +08:00
rsync 呢?
|
8
fenglangjuxu 2020-11-04 18:55:46 +08:00 via iPhone
内容 md5?
|
9
widewing 2020-11-04 19:17:59 +08:00 via Android
这不就是 git 吗。。
|
10
dangyuluo 2020-11-04 19:18:39 +08:00
定义什么是数据库
|
11
felixcode 2020-11-04 19:23:58 +08:00 via Android
用 git 来管理
|
12
maxbon 2020-11-07 14:33:15 +08:00
inotify
|