环境说明:

192.168.56.101 同步源
192.168.56.102 同步目标
操作系统centos 7
lsyncd项目地址:https://github.com/axkibe/lsyncd

  1.源主机root用户运行同步程序,backup用户验证目标主机;如果不想配密钥验证,同样支持密码验证,在运行时(nodaemon)提示输入或者在配置文件定义password_file参数。

生成密钥对(略),目标主机添加公钥,注意.ssh和密钥的属主权限
[root@192.168.56.102 ~]# echo "yyy" > /home/backup/.ssh/authorized_keys 源主机添加私钥
[root@192.168.56.101 ~]# echo "xxx" > /root/.ssh/backup_rsa
[root@192.168.56.101 ~]# chmod 600 /root/.ssh/backup_rsa
验证登录
[root@192.168.56.101 ~]# ssh -i /root/.ssh/backup_rsa backup@192.168.56.102

  2.源主机安装lsyncd,修改配置文件

安装lsyncd之前先安装epel-release
[root@192.168.56.101 ~]# yum install -y lsyncd
[root@192.168.56.101 ~]# rpm -qa | grep lsyncd
lsyncd-2.2.2-1.el7.x86_64
[root@192.168.56.101 ~]# cat /etc/lsyncd.conf
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
-- For more examples, see /usr/share/doc/lsyncd*/examples/
--
settings {
logfile = "/var/log/lsyncd.log",
statusFile = "/var/log/lsyncd.status",
} sync {
default.rsyncssh,
source = "/data/web/web1",
host = "backup@192.168.56.102",
targetdir = "/data/backup/web/web1",
-- 10秒同步一次,默认15秒
delay = 10,
rsync = {
archive = true,
compress = true,
verbose = true,
rsh = "ssh -o StrictHostKeyChecking=no -i /root/.ssh/backup_rsa",
}
} sync {
default.rsync,
source = "/data/web/web2",
target = "backup@192.168.56.102:/data/backup/web/web2",
rsync = {
archive = true,
compress = true,
verbose = true,
rsh = "ssh -o StrictHostKeyChecking=no -i /root/.ssh/backup_rsa",
--_extra = {"-e","ssh -o StrictHostKeyChecking=no","-e ssh -i /root/.ssh/backup_rsa"}
}
}

  3.源主机启动服务,看日志,目标主机检查文件同步

[root@192.168.56.101 ~]# systemctl start lsyncd

单源多目标需求可参考

https://www.stephenrlang.com/2015/12/how-to-install-and-configure-lsyncd/

  1.单目录同步到多机器:

源主机目录/data/web/sh.your.com同步到多机器
172.16.2.104:/data/web/sh.your.com
172.16.2.105:/data/web/sh.your.com

  2.多目录同步到相同机器:

源主机多目录
/data/web/resource.your.com
/data/web/www.your.com
同步到相同机器
172.16.2.99:/data/backup/web/resource.your.com
172.16.2.99:/data/backup/web/www.your.com
[root@HD1g-static-website ~]# cat /etc/lsyncd.conf
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
-- For more examples, see /usr/share/doc/lsyncd*/examples/
--
settings {
logfile = "/var/log/lsyncd.log",
statusFile = "/var/log/lsyncd.status",
} servers = {
"backup@172.16.2.104",
"backup@172.16.2.105",
}
for _, server in ipairs(servers) do
sync {
default.rsyncssh,
source = "/data/web/sh.your.com",
host = server,
targetdir = "/data/web/sh.your.com",
delay = 5,
rsync = {
archive = true,
compress = true,
verbose = true,
rsh = "ssh -o StrictHostKeyChecking=no -i /root/.ssh/backup_rsa",
}
}
end sites = {
"resource.your.com",
"www.your.com",
}
for _, site in ipairs(sites) do
sync {
default.rsyncssh,
source = "/data/web/" .. site,
host = "backup@172.16.2.99",
targetdir = "/data/backup/web/" .. site,
delay = 300,
rsync = {
archive = true,
compress = true,
verbose = true,
rsh = "ssh -o StrictHostKeyChecking=no -i /root/.ssh/backup_rsa",
}
}
end

  

[linux] lsyncd同步工具的更多相关文章

  1. linux rsync同步工具

    linux rsync同步工具 1.rsync介绍rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于unix/linux/windows ...

  2. Linux下同步工具inotify+rsync使用详解

    1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这 ...

  3. (转)Linux下同步工具inotify+rsync使用详解

    原文:https://segmentfault.com/a/1190000002427568 1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步 ...

  4. Linux文件同步工具之rsync

    学习背景 1.最近公司的项目在使用jenkins做自动化构建,因为jenkins在构建时是比较耗性能的,便单独使用了一台服务器做构建服务器.但是个人觉得这样成本过高,单独拿一台服务器来构建并且该服务器 ...

  5. 文件同步工具 lsyncd2.1.6 安装使用问题

    项目有文件实时同步备份的需求,做了一下调查,比较好的解决方法是使用lsyncd工具.这里主要记录一下遇到的问题及解决方法. lsyncd 的相关介绍和对比可见: lsyncd实时同步搭建指南——取代r ...

  6. Linux实战教学笔记21:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...

  7. Lsyncd - 实时文件同步工具(精译)

    原文: http://axkibe.github.io/lsyncd/ 描述 Lsyncd监视本地目录树事件监视器接口(inotify或fsevents).它聚集并组合事件几秒钟,然后生成一个(或多个 ...

  8. Linux目录同步到阿里云OSS工具ossutil

    Linux目录同步到阿里云OSS工具ossutil 背景 ​ 最近公司服务用户激增,常规文件服务器不能满足需求,严重影响性能,决定将静态文件迁移到阿里云OSS,用来解决性能问题,提高用户体验.毕竟之前 ...

  9. Linux系统备份还原工具4(rsync/远程数据同步工具)

    rsync即是能备份系统也是数据同步的工具. 在Jenkins上可以使用rsync结合SSH的免密登录做数据同步和分发.这样一来可以达到部署全命令化,不需要依赖任何插件去实现. 命令参考:http:/ ...

随机推荐

  1. django 表结构

    django 表结构 一:查看orm写的sq语句:如果对某个语句不清楚的话可以调用queryset的的query方法来查看sql. 1 obj=Hostinfo.objects.filter(id=v ...

  2. PAT乙级1032

    1032 挖掘机技术哪家强 (20 分)   为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第 1 行给出不超过 ...

  3. Oracle 12.2 报错:ORA-12012: error on auto execute of job "SYS"."ORA$AT_OS_OPT_SY_7458"

    alert报错 2019-01-12T10:10:11.499130+08:00Errors in file /u01/app/oracle/diag/rdbms/rac1/rac112/trace/ ...

  4. Android TV 全屏无标题

    想要全部窗口全屏无标题,修改 res\values\styles.xml 可设置主题和样式 <resources> <!-- Base application theme, depe ...

  5. OpenID Connect Core 1.0(一)介绍

    IdentityServer4是基于OpenID Connect and OAuth 2.0框架,OpenID Connect Core 1.0是IdentityServer4最重要的文档 By 道法 ...

  6. golang 杂思

    正文 这里给大家总结一些 Go player 开发小技巧. 欢迎批评和交流, 望大家喜欢. 1. 配置管理 推荐一种简单粗暴的配置管理方式 [配置 映射 内部结构]. 例如有个配置文件 config. ...

  7. 数据结构与算法之Stack(栈)的应用——in dart

    参考教科书上的一个应用例子,用栈来分析一行输入中的括号brackets是否匹配.用stdin读取用户输入,并输出检查结果.exit 退出. 注意这行代码: import 'stack.dart';// ...

  8. 编写Dockerfiles

    指令 docker build通过Dockerfile制作镜像 docker build [PATH] [-f Dockerfile] 其中PATH不写,默认执行指令的当前目录,不要用 /,这样将导致 ...

  9. 如何在mac上运行vue项目

    使用终端安装Vue运行环境 1.安装 Homebrew Homebrew 是osx下面最优秀的包管理工具,没有之一.先在终端查看是否已安装brew brew -v 如果返回 Homebrew 的版本号 ...

  10. vb6 使用msxml2.serverxmlhttp 请求HTTP

    Private Sub Command1_Click() Command1.Enabled = False GetHtmlStr Text1 End Sub Private Sub GetHtmlSt ...