美文网首页
文件实时同步神器lsyncd配置详解一

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

作者: 4ffde5305e8f | 来源:发表于2020-02-26 20:03 被阅读0次

  Lsyncd的配置文件是有效的lua语法,当然也支持lua编程,当然那是比较高级的用法了后面在简绍。先介绍基础的配置。
  Lsyncd的配置主要分两种:全局配置和局部配置
  由 settings { } 包括的内容都属全局配置,例如:


image.png

  settiings 是lsyncd的内置函数,{ }中的内容是传递的参数。是lua中函数的一种调用方式的简写,全写是这样:settings({a=1, b=2})

  下面看一下都有哪些设定参数: image.png
1. pidfile
      文件记录lsyncd当前进程id值,
      如果没有pid文件,那么则可以启动多个lsyncd进程,
  这会导致多个lsyncd进程同时运行造成同步的数据混乱。
      如果设置了pid文件,同时只能启动一个lsyncd进程。
  避免多个lsyncd进程导致同步混乱的情况,pid文件一定要设置。

2. inotifyMode
      指定lsyncd监控的事件,其值有:CloseWrite, Modify, CloseWrite or Modify 
  默认是CloseWrite。
      官方文档写的是 inotify事件,其实是不对的 
  lsyncd事件是对inotify事件的包装,CloseWrite事件是lsyncd的事件。
  我一直以为CloseWrite监听的是 文件写入关闭事件,
  可为什么文件删除和创建也被lsyncd监听并同步了呢?
  其实CloseWrite事件并不是单一事件而是包含了很多inotify事件,如下:

  CloseWrite包含了以下inotify事件:
    IN_ATTRIB 文件属性被修改,如 chmod、chown、touch 等
    IN_CLOSE_WRITE 可写文件被 关闭
    IN_CREATE创建新文件
    IN_DELETE文件/目录已在监控目录中删除
    IN_DELETE_SELF 监控的项目本身已删除
    IN_MOVED_FROM 文件被移出监控目录,如 mv
    IN_MOVED_TO 文件被移动到监控目录,如 mv、cp
    IN_DONT_FOLLOW 不追踪符号链接的真实路径
    IN_ONLYDIR; 仅监视目录

  Modify是在CloseWrite的基础上增加了IN_MODIFY事件,并删除了IN_CLOSE_WRITE事件
    IN_MODIFY 文件已被修改

  CloseWrite or Modify 是在CloseWrite的基础上增加了IN_MODIFY事件

3. Insist
      默认情况下,当启动lsyncd失败时,Lsyncd会结束允许并显示一条错误消息。
  开启了容错模式以后,lsyncd并不会因为某个配置的错误导致启动失败,
  而是记录错误日志并忽略错误配置继续允许。

4. maxProcesses
      lsyncd会产生一个子进程去运行sync任务,
  多个sync的时候,lsyncd会产生多个子进程并发运行sync任务,
  但最多不会超过maxProcesses的值。

5. maxDelays
      累计到多少所监控的事件激活一次同步,即使后面的sync配置的delay延迟时间还未到

  好了,全局配置介绍完了,我们写一个配置文件简单测试一下。Lsyncd的默认配置文件是 /etc/lsyncd.conf,编辑这个文件写我们的配置 image.png
--表示lua中的注释
sync同步配置
default.direct :本地目录间同步,使用cp、rm等命令完成差异文件备份
source 同步的源目录,使用绝对路径
target 目标目录, 使用绝对路径
创建源目录,并启动lsyncd image.png

日志模式设置为all,不然日志输出内容不全。
启动成功, 在源目录中创建文件,看看会不会同步到目标目录中


image.png 同步成功,看下日志里面都有什么
image.png

  可以看到 监听了文件创建事件, 文件属性事件,文件修改事件,这也证明了CloseWrite事件并不是单一事件,而是包含了很多inotify事件
  下期我们讲解 lsyncd中最重要的配置 sync同步配置。

个人用户或小企业用户,建站后没有运维怎么办?
旗鱼云梯, 专业的SAAS化服务器集群管理云平台, 免费的运维服务专业的技术, 您值得的拥有.
by 旗鱼云梯

相关文章

网友评论

      本文标题:文件实时同步神器lsyncd配置详解一

      本文链接:https://www.haomeiwen.com/subject/pooichtx.html