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

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

作者: 4ffde5305e8f | 来源:发表于2020-03-07 23:30 被阅读0次

  最近微盟的事情,作为一个小运维来说真是感概万分啊,再一次重申了备份和分权的重要性,不要把鸡蛋放在一个框子里。
  今天来讲lsyncd配置的第二部分也是核心部分 sync 配置。
sync是lsyncd执行具体的同步配置,每个sync配置都是独立的,可以同时执行多个sync配置。
  官方文档写的不怎么全,果然程序员都不喜欢写稳定啊,大神也不例外!扒了扒源码,sync和settings一样都是一个lua函数。


image.png

  里面是定义同步参数,可以继续使用maxDelays来重写settings的全局变量。第一个参数指定lsyncd以什么模式运行:内置了rsync、rsyncssh、direct三种模式,也可以自定义:

default.rsync :
  使用rsync进行本地目录间同步,或使用rsync的ssh形式进行远程同步,
  或使用rsync的daemon方式进行远程同步(需要目标主机也安装rsync)

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

default.rsyncssh :
  同步到远程主机目录,使用rsync的ssh模式,需要先配置ssh免密登录(密钥登录)

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

target:
  目标地址,仅用于direct, rsync模式, 对应不同的模式有几种写法例如
  1. /tmp/dest
    本地目录同步  root@172.16.1.31:/opt/
    使用远程shell(如rsh、ssh) 同步到远程服务器目录,
    root@可以省略,默认是root用户 。用于rsync模式。
  2. root@172.29.88.223::var/back
    使用rsync的daemon模式同步到远程服务器目录,目标主机也需要安装rsync。
    var/back等于/var/back,root@可以省略,默认是root用户。
    用于rsync模式。

targetdir
  目标地址,仅用于rsyncssh模式,例如:/tmp/dest

init
  当init = false,只同步进程启动以后发生改动事件的文件,原有的目录即使有差异也不会同步。
  默认是true

delay
  等待rsync同步延时时间,默认15秒(最大累计到1000个不可合并的事件
  (settings中的maxDelays,默认1000)。也就是15s内监控目录下发生的改动,
  会累积到一次rsync同步,避免过于频繁的同步。
  (可合并的意思是,15s内两次修改了同一文件,最后只同步最新的文件)

excludeFrom
  从文件加载排除规则,如excludeFrom = "/etc/lsyncd.exclude"

exclude
  从字符串加载排除规则,如exclude = { '*.bak' , '*.tmp' }

这里的规则写法与原生rsync有点不同,更为简单:
如果规则以斜线/开头,则从头开始要匹配全部
如果规则以/结尾,则要匹配监控路径的末尾
?匹配任何字符,但不包括/
*匹配0或多个字符,但不包括/
**匹配0或多个字符,可以是/

delete
  为了保持target与souce完全同步,Lsyncd默认会delete = true来允许同步删除。
  它除了false,还有startup、running值。
  false
    Lsyncd不会删除目标上的任何文件。既不在启动时也不在正常运行时。(但是可能会覆盖)
 'startup'
    Lsyncd在启动时会删除目标上的文件,但在正常运行时不会删除。
 'running'
    Lsyncd在启动时不会删除目标上的文件,但会删除在正常操作过程中删除的文件。

rsync
  配置rsync的命令行参数。 rsync参数太多了,大家看下官方文档把。
  仅适用于,default.rsyncssh和default.rsync模式

host
  远程主机地址,例如: 192.168.1.1 或者 zhai@192.168.8.1.1

ssh
  配置ssh参数,例如端口:port=1234

image.png 下面写几个简单的例子: image.png image.png

ssh传输方式必须配置免密登录

  1. 登录源主机生成私钥,一路回车确认。 image.png
  2. 将公钥发送给目标主机

    输入yes,回车,然后输入目标主机ssh密码,回车确认 image.png
  3. 验证是否成功 image.png

    免密登录成功

lsyncd默认提供了三种配置模式:rsync、rsyncssh、direct,我们也可以自定义自己的配置

下期讲解,怎么自定义自己的模式

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

相关文章

网友评论

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

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