zxCoder
V2EX  ›  问与答

关于文件同步的一个需求

  •  
  •   zxCoder · Nov 4, 2020 · 1650 views
    This topic created in 2041 days ago, the information mentioned may be changed or developed.

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

    12 replies    2020-11-07 14:33:15 +08:00
    starzh
        1
    starzh  
       Nov 4, 2020
    说一下我的想法
    在 Linux 里面每个文件有自己的 inode,每次同步前比较远程存的 inode 和本地文件的 inode 来判断新文件和删除的文件,判断原文件是否修改就需要算哈希了
    qiayue
        2
    qiayue  
    PRO
       Nov 4, 2020
    假设你原先有一个文件 v2ex.md 内容是 v2ex.com
    后来你修改文件 v2ex.md 的内容为 www.v2ex.com
    再后来你添加了一个新文件 v3ex.md 内容是 www.v3ex.com

    那么程序怎们能够识别你这个 v3ex.md 到底是新文件,还是旧文件 v2ex.md 修改过来的呢?
    kidlj
        3
    kidlj  
       Nov 4, 2020
    git?
    Tianao
        4
    Tianao  
       Nov 4, 2020 via iPhone
    调用 diff 工具 /库。
    shyling
        5
    shyling  
       Nov 4, 2020
    学学 git 怎么做
    DoctorCat
        6
    DoctorCat  
       Nov 4, 2020
    文件目录树对比
    文件 hash 对比
    求远程与本地文件名二者的差集...
    rshun
        7
    rshun  
       Nov 4, 2020
    rsync 呢?
    keepfun
        8
    keepfun  
       Nov 4, 2020 via iPhone
    内容 md5?
    widewing
        9
    widewing  
       Nov 4, 2020 via Android
    这不就是 git 吗。。
    dangyuluo
        10
    dangyuluo  
       Nov 4, 2020
    定义什么是数据库
    felixcode
        11
    felixcode  
    PRO
       Nov 4, 2020 via Android
    用 git 来管理
    maxbon
        12
    maxbon  
       Nov 7, 2020
    inotify
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2741 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 11:36 · PVG 19:36 · LAX 04:36 · JFK 07:36
    ♥ Do have faith in what you're doing.