1. 利用 ssh+rsync
 只需要在服务器端打开 ssh 服务, 并启动 xinetd 中 rsync 服务则可使用
 a. 增量同步
  rsync -av /src-dir/.  user@ipadress:/dest-dir/.
 b. 镜像同步
  rsync -av --delete /src-dir/.  user@ipadress:/dest-dir/.
 
 特点: 配置简单, 不需要配置 rsyncd.conf 配置文件, 但需要在同步过程中进行用户认证
 注: 利用 expact + gzipexe 可以创建自动同步加密脚本
 使用: 可手动同步或每天晚上定制时间任务同步
 缺点:无法实现实时同步, 不可以成为双机热备份方案么

2. 启用 rsync 服务
 需要配置 /etc/rsyncd.conf 配置文件, 需要启动 xinetd 中 rsync 服务, 可以不通过 sshd 协调
 a. 配置文件 (参考  man 5 rsyncd.conf , 目录共享管理参考 smb.conf)

rsyncd.conf 参考
motd file = true     # 时间记录
pid file = /var/run/rsyncd.pid
port = 873
address = 0.0.0.0
log file = /var/log/rsyncd.log  # rsync 独立日志, 记录每个文件更新信息
syslog facility = syslog   # 增加同步启动与结束信息到 /var/log/messages 仲
uid = nobody      # 注: 定义同步时 rsync 进程用户 id
gid = nobody
use chroot = no

[share]
path=/tmp/test
read only=false

rsyncd.conf 配置安全信息:
charset 用于设定字符集, 可用字符集参考 smb.conf 标准
max connections 并发连接数量
read only  读写控制
write only 读写控制
list  是否允许客户端利用  rsync --list-only rsync://192.168.1.11:873 查询共享目录信息
 注: rsync --list-only rsync://192.168.1.11:873/share/. 能够列出文件信息, 与 list 参数无关
exclude 同步过程中忽略某个文件或目录 ex: = new/ old/ kdump.conf (注:只需要相对路径)
exclude from = /etc/rsyncd.list 以文件记录同步过程忽略信息
incoming chmod 文件目录权限定义
outgoing chmod 文件目录权限定义
auth users 配合 secrets file 使用, 定义用户认证(明文) = user1 user2 user3
secrets file = filepath 验证文件 语法 user:password (必须包含上述user123) 文件 root 600 属性
hosts allow 主机 IP 定义
hosts deny 主机 IP 定义
log format 默认格式 %o %h [%a] %m (%u) %f %l 参考 rsyncd.conf

常见同步语法
 rsync --list-only rsync://192.168.1.11:873/share/. 能够列出文件信息
 rsync --list-only rsync://192.168.1.11:873 查询共享目录信息
 rsync --exclude-from=file.txt rsync://192.168.1.11:873/share/.  /tmp/test/. 不同步指定信息

优点: 避免显示主机文件信息绝对路径, 多种安全设定, 不需要利用ssh 进行用户验证, 支持匿名同步
 缺点: 无法主动推送文件

3. rsync+lsyncd 数据同步

[rsync server ]  <------     [ lsyncd ]    --->  [ rsync server ]

rsync 客户端需要编译 lsyncd 软件,安装 rsync 工具
rsync 服务器需要配置并启动 rsync 进程, 如上例子, 匿名共享 share 目录

下载最新版
http://lsyncd.googlecode.com/files/lsyncd-2.0.5.tar.gz
依赖: lua >= 5.1.3, rhel6 补丁
ftp://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/6rolling/i386/os/Packages/lua-devel-5.1.4-4.1.el6.i686.rpm

语法需调用 LUA 格式

创建配置文件 share.lua

settings = { 
.. 略
 nodaemon   = true,    # false 成为前台进程, 方便测试
 statusInterval = 3,    # lsyncd.status 状态更新时间间隔
 ...略
}

sync{
 ..  略
}

bash = {    
 ... 略
}

settings 为主配置, sync 为同步配置, bash 为同步方案

启动方法
lsyncd  share.lua

初次启动则会自动同步文件内容, 后发生文件修改, 增加, 删除都会进行自动同步
如果需要对多台电脑进行同步, 可以利用 lsyncd  backup.lua 等脚本多次进行进程启动

方案优点:
  1. 自动对目录中文件向 rsync 服务器进行推送
  2. 能够支持多台 rsync 服务器
  3. 避免人工参与修改
 缺点:
  同步时间非实时, 约莫具有30秒延时
  不建议采用大文件进行同步

rsync , rsync + ssh, rsync + lsyncd 多种同步方案与比较相关推荐

  1. rsync安装与配置使用 数据同步方案(centos6.5)

    rsync + crond   ==定时数据同步 sersync(inotify)  + rsync  ==实时数据同步,利用rsync实现 ##应用场景 ..1 主备服务器之间同步数据定时    = ...

  2. linux cp sync,通过SSH使用Rsync传输文件,复制和同步文件及目录

    在本文中,我们将解释如何通过SSH使用rsync复制文件.当涉及在网络上的系统之间传输文件时,Linux和Unix用户可以使用许多工具,最流行的数据传输协议是SSH和FTP,虽然FTP很受欢迎,但总是 ...

  3. 利用ssh+rsync+inotify实现数据的异地实时同步

    在服务器中,通常结合计划任务.shell脚本来执行本地备份.为了进一步提高备份的可靠性,使用异地备份也是非常重要的,利用rsync工具,可以实现快速.高效的异地备份.本篇博客将配置rsync+cron ...

  4. Rsync和Sersync(企业实时同步方案)

    注:本文章依据参考文章中的信息资料结合自己的实践操作而成 一.实验环境介绍 系统版本:Cent OS 7.4 X64 内核版本:3.10.0-693.5.2.el7.x86_64 系统采用最小化安装, ...

  5. rsync工具介绍,rsync常用选项,rsync通过ssh同步

    rsync安装命令: yum -y install rsync rsync是一个比较重要的工具,需要熟练掌握,在工作中很有可能每天都会用到这个工具.例如我们从A机器传输文件到B机器,或者通过远程去备份 ...

  6. 【linux】利用ssh、sshpass和rsync命令,实现免密同步文件,指定非22端口

    文章目录 rsync安装 sshpass安装 rsync常用参数说明 sshpass命令 免密登录,默认22端口 # sshpass -p password rsync -avz user@ip:/d ...

  7. rsync+sersync实现数据文件实时同步

    rsync+sersync实现数据文件实时同步 使用rsync+sersync,实现nfs与backup服务器间实时数据同步 一.数据同步工具介绍 rsync是一款开源的.快速的.多功能的.可实现全量 ...

  8. 【Linux】Rsync基于SSH认证的使用(rsync 命令属于1 v 4 的命令、rsync常用参数基本用法)

    一.Rsync基于SSH认证的使用 rsync 默认使用 ssh 协议进行远程登录和数据传输.远程主机需要开启 sshd 服务,rsync 在传输数据之前会先与远程主机进行一次 ssh 登录认证,然后 ...

  9. rsync+inotify-tools实现文件的实时同步

    rsync简介: Rsync 是一个远程数据同步工具,使用所谓的"Rsync 演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传 ...

最新文章

  1. php的sql语句用变量赋值,sql语句变量赋值
  2. Effective C++ 读书笔记之Part2.Constructors, Destructors, and Assignment Operators
  3. 用c语言输出26个英文字母,菜鸟求助,写一个随机输出26个英文字母的程序
  4. 学习的过程和挖矿其实很像
  5. 7kyu Exes and Ohs
  6. 使用Bootstrap制作导航栏
  7. 7-10 找最小的字符串 (15 分)
  8. 第七届蓝桥杯大赛个人赛省赛(软件类)真题4
  9. EmEditor正则表达式例子
  10. 程序员不能错过的20个学习网站
  11. PHP Class - 图片水印
  12. 统计数字问题Python
  13. 浏览器中访问本地文件for mac
  14. [圣诞大礼]Macintosh苹果机精品游戏合集
  15. 【Java 8 新特性】Java 8 时间接口示例:MonthDay、Month、OffsetDateTime 和 OffsetTime
  16. python计算移动平均线_(转)简单移动平均线(Simple Moving Average,SMA) 定义及使用...
  17. python爬取歌词_Python如何爬取qq音乐歌词到本地
  18. 联想小新设置指纹登录
  19. Ardublock的安装
  20. 南京金龙上位机,开沃整车上位机,南京金龙电池,上位机

热门文章

  1. 200万粉丝!欢乐的小肥羊同款4G遥控车-技术原理及快速实现
  2. Python 生成随机经纬度数据
  3. k8s集群flannel问题之telnet node节点开放端口Connect timeout情况
  4. 10分钟解决一天工作量它不香吗?没有想到你们竟这么想…
  5. 2022下半年软考成绩即将公布,附查分指南!
  6. 使用NDB调试Linux内核的线程切换过程
  7. 外部环境因素分析(转载)
  8. android 锁屏界面处理
  9. 飞蛾云小票打印API,以及小票模板函数
  10. 搭建大型分布式服务(二十二)SpringBoot 如何优雅地整合多个kafka数据源?