这是一个创建于 3189 天前的主题,其中的信息可能已经有所发展或是发生改变。
两台机器 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
|
|
1
lightforce 2016-03-19 19:44:54 +08:00
--delete ,删掉源再改算办法伐?
|