首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

Lsyncd的配置文件是有效的lua语法,当然也支持lua编程,当然那是比较高级的用法了后面在简绍。先介绍基础的配置。

Lsyncd的配置主要分两种:全局配置和局部配置

由 settings { } 包括的内容都属全局配置,例如:

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

下面看一下都有哪些设定参数:

pidfile

文件记录lsyncd当前进程id值,

如果没有pid文件,那么则可以启动多个lsyncd进程,这会导致多个lsyncd进程同时运行造成同步的数据混乱。

如果设置了pid文件,同时只能启动一个lsyncd进程。避免多个lsyncd进程导致同步混乱的情况,pid文件一定要设置。

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事件

Insist

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

maxProcesses

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

maxDelays

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

好了,全局配置介绍完了,我们写一个配置文件简单测试一下。Lsyncd的默认配置文件是 /etc/lsyncd.conf,编辑这个文件写我们的配置

--表示lua中的注释

sync 同步配置

default.direct :本地目录间同步,使用cp、rm等命令完成差异文件备份

source 同步的源目录,使用绝对路径

target 目标目录, 使用绝对路径

创建源目录,并启动lsyncd

日志模式设置为all,不然日志输出内容不全。

启动成功, 在源目录中创建文件,看看会不会同步到目标目录中

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

可以看到 监听了文件创建事件, 文件属性事件,文件修改事件,这也证明了CloseWrite事件并不是单一事件,而是包含了很多inotify事件

下期我们讲解 lsyncd中最重要的配置 sync同步配置。

个人用户或小企业用户,没有运维怎么办?

旗鱼云梯, 专业的SAAS化服务器集群管理云平台, 免费的运维服务专业的技术, 您值得的拥有.

旗鱼云梯 https://www.qyyt.com/?uuid=nEmfUCsJA7cW

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200226A029VQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券