lsyncd-实时同步(镜像)守护程序
本文作者: 五行哥
QQ: 1226032602
E-mail: 1226032602@qq.com
官方文档
https://axkibe.github.io/lsyncd/
https://github.com/axkibe/lsyncd
简介
Lsyncd使用文件系统事件接口(inotify或fsevents)来监视对本地文件和目录的更改。Lsyncd将这些事件整理几秒钟,然后生成一个或多个进程以将更改同步到远程文件系统。默认同步方法是rsync
Lsyncd是一种轻量级的实时镜像解决方案。Lsyncd相对容易安装,不需要新的文件系统或块设备。Lysncd不会妨碍本地文件系统性能
可以通过配置文件实现细粒度的自定义。自定义操作配置甚至可以从头开始编写,从shell脚本到用Lua语言编写的代码
版本要求
Lsyncd 2.2.1要求所有源和目标计算机上的rsync> = 3.1
安装
lsyncd 在 epel源中
yum install lsyncd
配置
配置文件说明 /etc/lsyncd.conf
lsyncd配置文件使用lua语法编写
settings
settings {
logfile 日志文件
pidfile pid文件
nodaemon 表示不启用守护模式,默认
statusFile 运行状态文件
statusInterval 将lsyncd的状态写入上面的statusFile的间隔,默认10秒
inotifyMode 指定inotify监控的事件,默认是CloseWrite,还可以是Modify或CloseWrite or Modify
maxProcesses 最大进程数
maxDelays 累计多少监控事件同步一次,即使delay时间未到也同步
}
sync 三种模式
default.rsync
sync {
default.rsync,
source = "/tmp/src",
target = "172.29.88.223:/tmp/dest",
maxDelays = 5,
delay = 30,
-- init = true,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
compress = true,
bwlimit = 2000
rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
}
}
rsync daemon
sync {
default.rsync,
source = "/tmp/src",
target = "rsync_backup@172.16.1.41::backup",
delete="running",
exclude = { ".*", ".tmp" },
delay = 3,
init = false,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
compress = true,
verbose = true,
password_file = "/etc/rsync.pwd",
_extra = {"--bwlimit=200"}
}
}
default.rsyncssh
sync {
default.rsyncssh,
source="/srcdir",
host="remotehost",
excludeFrom="/etc/lsyncd.exclude",
targetdir="/dstdir",
rsync = {
archive = true,
compress = false,
whole_file = false
},
ssh = {
port = 1234
}
}
default.direct
sync {
default.direct,
source = "/home/user/src/",
target = "/home/user/trg/"
}
/etc/lsyncd.conf
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
inotifyMode = "CloseWrite",
maxProcesses = 8,
}
sync {
default.rsync,
source = "/tmp/src",
target = "rsync_backup@172.16.1.41::backup",
delete="running",
exclude = { ".*", ".tmp" },
delay = 3,
init = false,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
compress = true,
verbose = true,
password_file = "/etc/rsync.pwd",
_extra = {"--bwlimit=200"}
}
}
sync {
default.rsync,
source = "/tmp/src",
target = "rsync_backup@172.16.1.41::wuxing",
delete="running",
exclude = { ".*", ".tmp" },
delay = 3,
init = false,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
compress = true,
verbose = true,
password_file = "/etc/rsync.pwd",
_extra = {"--bwlimit=200"}
}
}
delete
delete = true #在目标上删除源中没有的内容。在启动时以及在正常操作期间删除的内容
delete = false #不会删除目标上的任何文件。不在启动时也不在正常操作上
delete = 'startup' # Lsyncd将在启动时删除目标上的文件,但不会在正常操作时删除
delete = 'running' # Lsyncd在启动时不会删除目标上的文件,但会删除正常操作期间删除的文件
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
inotifyMode = "CloseWrite",
maxProcesses = 8,
}
sync {
default.rsync,
source = "/data",
target = "rsync_backup@backup::backup",
delete= true,
exclude = { ".*" },
delay = 1,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
compress = true,
verbose = true,
password_file = "/etc/rsync.pwd",
_extra = {"--bwlimit=200"}
}
}
lsyncd-实时同步(镜像)守护程序的更多相关文章
- Lsyncd实时同步搭建指南
linux文件实时同步: inotify+rsync.sersync.lsyncd工具比较 一.inotify + rsync 最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是inotify ...
- Lsyncd搭建同步镜像-用Lsyncd实现本地和远程服务器之间实时同步
Lysncd即Live Syncing Daemon,它是开源的数据实时同步工具(后台进程),基于inotify和rsync. lsyncd会密切监测本地服务器上的参照目录,当发现目录下有文件或目录变 ...
- lsyncd 实时同步
1. 几大实时同步工具比较 1.1 inotify + rsync 最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是inotify + rsync,但随着文件数量的增大到100W+,目录下的 ...
- lsyncd实时同步搭建指南——取代rsync+inotify
1. 几大实时同步工具比较 1.1 inotify + rsync 最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是inotify + rsync,但随着文件数量的增大到100W+,目录下的 ...
- lsyncd实时同步工具
简介 Lysncd 实际上是lua语言封装了 inotify 和 rsync 工具,采用了 Linux 内核(2.6.13 及以后)里的 inotify 触发机制,然后通过rsync去差异同步,达到实 ...
- sersync/lsyncd实时同步
第一章 sersync/lsync实时同步 1.1 实时同步服务原理/概念 1)需要部署好rsync守护进程服务,实现数据传输 2)需要部署好inotify服务,实现目录中数据变化监控 3)将rsyn ...
- 如何使用 lsyncd 实时同步并执行 shell 命令
修改 lsyncd 的默认配置,不直接执行rsync 进行同步,而是改用自己的脚本. binary 指定我们的脚本 vim /usr/local/lsyncd/etc/lsyncd.conf sett ...
- lsyncd —— 多机器实时同步文件神器
lsyncd 是一个支持实时.双向.多机器的多模式文件同步工具. 使用 Lua 语言封装了 inotify 和 rsync 工具,采用了 Linux 内核(2.6.13 及以后)里的 inotify ...
- lsyncd + rsync 实时同步搭建
一.inotify和lsync inotify和lsyncd对比一下,发现虽然lsyncd没有inotify那么真正的实时同步,但是lsyncd的同步基本上可以满足基本实时同步的要求,而且lsyncd ...
- 实时同步lsyncd
实时同步lsyncd 1 lsyncd 1.1 lsyncd 简介 Lsyncd使用文件系统事件接口(inotify或fsevents)来监视对本地文件和目录的更改.Lsyncd将这些事件整理几秒钟, ...
随机推荐
- JOI 公園 (JOI Park)
原题链接:AT2434 JOI 公園 (JOI Park) 写完之后看到题解区的三分吓了一跳 分析与解答 由于最终答案与边权有关,所以不妨考虑判断一条边是否会对答案有贡献. 记 \(dis\) 表示以 ...
- 如何使用源码编译安装Nginx服务器
安装 PCRE : 网站:http://pcre.org/ 下载: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ ftp://ftp.c ...
- python时间加减
要用到生成时间,在当前日期前/后xx天.xx小时.xx分钟.xx秒 # coding:utf8 from datetime import datetime, timedelta def gen_dat ...
- docker自动化启动停止脚本
docker一键启动命令 sh auto.sh [start|restart|stop] [keywords...] keywords可选(包含编号,镜像名,容器名称,端口) 其中defaultLis ...
- 关于ie浏览器query ajax提交单个操作无效
第一次写博客 大家不要喷我!!!! 需求需要开发一个无刷新的用户注销和恢复注销功能 遇到的实际问题直接贴图----> 这是开始页面 当点击红xx时提示修改成功 这里似乎是对的哈 但是等点击刷新的 ...
- Python项目框架的搭建
Python的框架搭建,有七个步骤 第一步:创建项目 首先我们打开pycharm,然后点击第一个Create New Project ,创建一个新的项目. 在选项里面是有一个Flask的,然后就是项目 ...
- Spring框架1--IoC
Spring框架之IoC Spring的后处理器 待补充~ BeanFactoryPostProcessor BeanPostProcessor Bean的生命周期 具体可见图解:点击这里 补充: A ...
- Navcat 密码查看,密码找回
第一步 window下打开注册表 打开以下路径 \HKEY_ CURRENT_ USER\Software\Premium Soft\Navicat\Servers 获取对应数据库信息 如图可见加密后 ...
- (已解决)为什么最新版本(v4.3.1)的bootstrap不能使用center-block?
最新版本4.3.1已经用mx-auto替换center-block,如果仍然想要使用,可以引用3.3.7版本的,https://cdn.staticfile.org/twitter-bootstrap ...
- php 反序列化字符串逃逸
这里总结一下反序列化字符串逃逸的知识点 反序列化字符串逃逸分为 被过滤后字符增多和字符减少的情况 这里就不讲之前的基础知识了 大家看其它师傅写的博客就可以了 很多师傅的文章写的都很细 现在直接就开始进 ...