V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
muziling
V2EX  ›  程序员

lsyncd 同步疑问, 文件修改后,不会同步了

  •  
  •   muziling · 2016-03-19 17:48:32 +08:00 · 2552 次点击
    这是一个创建于 3161 天前的主题,其中的信息可能已经有所发展或是发生改变。
    两台机器 A 和 B 都装了 rsync 和 lsyncd ,互相同步

    A 使用 lsyncd 默认调用 rsync 的参数:
    xec: /usr/local/bin/rsync [-vslt] [--password-file=/etc/rsyncd/lsyncd.passwd] [-r] [/data/weblogic/ftpdir/] [weblogic@B::uploads/]

    B 使用 lsyncd 默认调用 rsync 的参数:
    xec: /usr/local/bin/rsync [-vslt] [--password-file=/etc/rsyncd/lsyncd.passwd] [-r] [/data/weblogic/ftpdir/] [weblogic@A::uploads/]

    如果通过 ftp 上传文件到 B ,假设文件大小 100M , 文件上传超过同步默认的 10 秒间隔,文件上传到 B 完成后, 过一会儿发现 A 和 B 的文件大小 都没有 100M ,
    查了原因是 ftp 上传会保留文件的时间,上传到 B 的时间是文件时间, A 从 B 自动同步,则 A 的时间是当前系统时间, 所以 B 的时间比较早,会自动再从 A 同步回来,导致文件不完整。

    看了 rsync 的参数说明,有-t 参数,应该能保留文件时间的,但同步过程中的文件时间是系统时间,同步完成后时间才恢复成原时间。


    然后给 lsyncd 加[ --append] 参数,能解决这个问题,但如果我后续把 100M 这个文件修改了,变小了,文件不会自动同步了。 怎么解决?
    1 条回复    2016-03-19 19:44:54 +08:00
    lightforce
        1
    lightforce  
       2016-03-19 19:44:54 +08:00
    --delete ,删掉源再改算办法伐?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4797 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 04:01 · PVG 12:01 · LAX 20:01 · JFK 23:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.