[linux] lsyncd同步工具
环境说明:
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同步工具的更多相关文章
- linux rsync同步工具
linux rsync同步工具 1.rsync介绍rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于unix/linux/windows ...
- Linux下同步工具inotify+rsync使用详解
1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这 ...
- (转)Linux下同步工具inotify+rsync使用详解
原文:https://segmentfault.com/a/1190000002427568 1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步 ...
- Linux文件同步工具之rsync
学习背景 1.最近公司的项目在使用jenkins做自动化构建,因为jenkins在构建时是比较耗性能的,便单独使用了一台服务器做构建服务器.但是个人觉得这样成本过高,单独拿一台服务器来构建并且该服务器 ...
- 文件同步工具 lsyncd2.1.6 安装使用问题
项目有文件实时同步备份的需求,做了一下调查,比较好的解决方法是使用lsyncd工具.这里主要记录一下遇到的问题及解决方法. lsyncd 的相关介绍和对比可见: lsyncd实时同步搭建指南——取代r ...
- Linux实战教学笔记21:Rsync数据同步工具
第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...
- Lsyncd - 实时文件同步工具(精译)
原文: http://axkibe.github.io/lsyncd/ 描述 Lsyncd监视本地目录树事件监视器接口(inotify或fsevents).它聚集并组合事件几秒钟,然后生成一个(或多个 ...
- Linux目录同步到阿里云OSS工具ossutil
Linux目录同步到阿里云OSS工具ossutil 背景 最近公司服务用户激增,常规文件服务器不能满足需求,严重影响性能,决定将静态文件迁移到阿里云OSS,用来解决性能问题,提高用户体验.毕竟之前 ...
- Linux系统备份还原工具4(rsync/远程数据同步工具)
rsync即是能备份系统也是数据同步的工具. 在Jenkins上可以使用rsync结合SSH的免密登录做数据同步和分发.这样一来可以达到部署全命令化,不需要依赖任何插件去实现. 命令参考:http:/ ...
随机推荐
- 范数 L1 L2
在线性代数,函数分析等数学分支中,范数(Norm)是一个函数,是赋予某个向量空间(或矩阵)中的每个向量以长度或大小的函数.对于零向量,令其长度为零.直观的说,向量或矩阵的范数越大,则我们可以说这个向量 ...
- 记录一个python公式罗列的方法 join()方法和map()方法的妙用
题干: 怎样将一个列表中的元素读出,并列出计算式子 比如:[,,,] 输出:+++ = 列表中的元素个数不定 小白和大神的方法: #小白的 numlist=[,,,] sum1='' cal='+' ...
- DOM几个重要的函数
最近在读js编程艺术,发现几个不错的函数,总结如下: 1.页面初始化加载函数onload 操作DOM的函数应该在页面元素初始化结束之后再立即执行,否则页面元素还没有初始化完成,DOM操作就会搁浅了:网 ...
- TarsGo新版本发布,支持protobuf,zipkin和自定义插件
本文作者:陈明杰(sandyskies) Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架,目前支持C++,Java,PHP,Nodejs,Golang语言.该框架为用户提供了涉及 ...
- 图片 和 base64 互转
图片转base64 NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlStr]]; UIImage *img = ...
- MacOS在Finder中建立快速新建txt的workflow
Mac是不支持右键直接新建txt的,因此有时候需要用到文本文稿的时候会比较麻烦. 因此这里提供一种个人认为比较方便的方法,让Mac也能很简洁的新建txt文件. 工具介绍: Automator ...
- Python2.7在Windows下CMD编码为65001/utf-8时print报错[Errno 0]/[Errno 2]
使用python2.7处理unicode的字符串,环境变量已设置PYTHONIOENCODING为utf-8,cmd编码为utf-8时print unicode字符串会报错[Errno 0]或[Err ...
- 一个yum源for centos6.x
rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-12.rhel6.noarch.rpm
- 二级管工作原理(PN结原理)学习
0.小叙闲言 前面已经写了两篇介绍放大器应用和MOSFET作驱动的文章:常规放大电路和差分放大电路和MOSFET使用与H桥驱动问题.但是对它们的工作原理并没有进一步研究一下,今天写下这篇文章,主要是介 ...
- OSG选取点云坐标不准的解决办法
一.默认的相机和所有模型求交的方式 1.1 传统的模型与屏幕点求交的方法如下: osgViewer::View* viewer = dynamic_cast<osgViewer::View*&g ...