文件实时同步神器lsyncd配置详解四

上次讲了 onCreate, OnDelete等钩子或者事自定义。今天来讲一下,如果我想要知道什么时候同步完毕,或者同步完毕时候进行日志记录,那么怎么办呢?
官方文档中,并没有介绍或者预留接口来实现这个功能,但是肯定是有的,没办法来扒源码把,还好是lua写的能看懂。


image.png

研究一番发现collect函数是在同步结束后调用的, 我们可以来重新collect来进行同步完毕后的日志记录,


image.png
来验证一下echoCollect 在什么时间调用,以及会不会在sleep 10秒输出xxxxxx 之后调用并输出日志呢??
image.png
启动,并在监控目录创建一个文件,看日志输出,
  1. onStartup同步执行完毕后, 会触发一次 collect函数调用, 触发事件类型为Init
  2. onCreate 同步成功之后, 触发了 collect 函数调用, 触发事件类型为Create

从第二个输出我们可以看到, collect 并不是在onCreate 或者 onStartup函数执行完毕后调用的, 而是在 相对于的同步事件执行数据同步成功之后才去调用, 比如 onCreate, 直到sleep 10秒,输出 xxxxxxx之后才 输出了同步成功日志。
在echoCollect中 我们使用了 agent.etype, agent指的是当前同步操作的事件,etype是事件类型, 是事件内置的属性之一,事件还内置了很多属性。下期我们讲解事件属性。
尽情期待哦,且听下回分解
by 旗鱼云梯

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容