美文网首页
xinetd+lsyncd+rsync双向同步

xinetd+lsyncd+rsync双向同步

作者: paw丸 | 来源:发表于2016-11-23 17:21 被阅读0次
服务器name->ip
  drbd1: 192.168.171.136
  drbd2: 192.168.171.135
  1. apt-get安装三个软件 xinetdlsyncdrsync,配置好ssh免密钥登录
  2. root@drbd2# vi /etc/rsyncd.conf
[diskb]                           --> 名字标识,用于rsync命令冒号后面
path = /mnt/diskb                 --> 目录的路径
list = true                       --> 列出服务器上提供同步数据的目录,默认是yes,为了安全建议no
uid = root                        --> 运行命令的用户,默认是nobody,如果系统不存在这个用户,会出错
gid = root                        --> 运行命令的用户组,默认是nobody,如果系统不存在这个用户,会出错
read only = false                 --> 只读选项,意思是不让客户端上传文件到服务器
hosts allow = 192.168.171.136     --> 允许这个ip访问,通常与hosts deny配合使用
hosts deny = *                    --> 禁止除允许列表中的所有地址的访问
  1. root@drbd2# vi /etc/xinetd.d/rsync
service rsync
{
   disable         = no
   socket_type     = stream
   wait            = no
   user            = root
   server          = /usr/bin/rsync
   server_args     = --daemon
   log_on_failure  += USERID
}
  1. root@drbd2# service xinetd restart 重启xinetd服务之后,在drbd1上用命令测试一下
  2. root@drbd1# rsync -avz --delete /mnt/diskb/ 192.168.171.135::diskb #测试命令,如果能够同步成功,就往下走,否则检查一下配置,直到成功
命令解析:
a:--archive 归档模式,表示以递归方式传输文件,并保持所有文件属性
v:--verbose 详细模式输出
z:--compress 对备份的文件在传输时进行压缩处理
---其他的参数---
u:--update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
q:--quiet 精简输出模式
--delete 删除那些DST中SRC没有的文件

更多参数配置

  1. root@drbd1# vi /etc/lsyncd.conf
settings {
    logfile      ="/tmp/lsyncd.log",        --> 日志文件路径
    statusFile   ="/tmp/lsyncd.status",     --> 状态文件路径
    inotifyMode  = "CloseWrite",            --> 在文件结束写之后同步,也可以写Modify
    maxProcesses = 7,                       --> 同时进程最大个数
}
  
sync {
    default.rsync,                            --> 同步模式,有rsync、rsyncssh、direct三种
    source    = "/mnt/diskb",                 --> 监听的目录
    target    = "192.168.171.135::diskb",     --> 也可以写为服务端地址以及rsync的名字标识
    delete    = "running",       --> 为了保持target与souce完全同步,Lsyncd默认会delete = true来允许同步删除
    delay     = 5,               --> 累计事件,等待rsync同步延时时间,即5秒内,对同一文件的修改只同步一次
    rsync     = {                             --> rsync参数
        binary    = "/usr/bin/rsync",     
        archive   = true,     
        compress  = true,                     --> 开启压缩
        verbose   = true
    }
}

更多参数配置

  1. root@drbd1# lsyncd -log all /etc/lsyncd.conf 启动进程
  2. root@drbd1# vi /etc/rc.localexit 0之前,加入lsyncd -log all /etc/lsyncd.conf,完成开机自动执行
  3. 至此配置好了一半:即drbd1的目录/mnt/diskb中的任意修改都会同步到drbd2/mnt/diskb中,如果要实现另一半操作,交换主从,再配置一遍即可
  4. 单个文件的同步的配置:/etc/rsyncd.conf片段:
sync {
    default.rsync,
    source    = "/tmp",
    target    = "drbd2::html",
    delete    = "running",
    delay     = 5,
    rsync     = {
        binary    = "/usr/bin/rsync",
        archive   = true,
        compress  = true,
        verbose   = true,
        _extra = {"--include-from=/etc/lsyncd.include", "--exclude=*"}
    }
}
--> _extra 参数是执行rsync命令时,不修改直接带上的参数。
--> 2.1.*版本之前有rsyncOps={"--include-from=/etc/lsyncd.include","--exclude=*"}的写法,现在被_extra替代
  1. 包含文件/etc/lsyncd.include
single.file
test.file

其他要包含的文件,每个占一行

相关文章

  • xinetd+lsyncd+rsync双向同步

    服务器name->ip drbd1: 192.168.171.136 drbd2: 192.168.171.1...

  • AQS同步队列与条件队列的关系

    一、关系 同步队列节点来源: 1、同步队列依赖一个双向链表来完成同步状态的管理,当前线程获取同步状态失败 后,同步...

  • Mysql双机同步故障排除记录

    开发环境两台Mysql主机,已配置高可用(keepalived)双向同步,某天巡视发现,同步失败。经检查当前主用库...

  • 服务器文件同步

    服务器文件双向、多向同步rsync+sersync 安装前的准备(各同步服务器都配置) # 因为这会降低服务器...

  • mysql数据双向同步实现

    3mysql数据同步实现原理: 即读写操作在两台服务器上进行,每台服务器即主也是从。当其中的任何一台服务器收到操作...

  • Gitlab与Github双向同步

    有时我们工作上用到gitlab,但是有些资料也想保存到github上。或者github上的资料存在gitlab上,...

  • Vue双向数据绑定

    所谓双向数据绑定, 无非就是数据层和视图层中的数据同步, 在写入数据时视图层实时的跟着更新。 实现mvvm的双向绑...

  • # 前端面试---Vue双向绑定原理(3.0和2.0优缺点对比)

    Vue2.0实现双向绑定 所谓的双向数据绑定主要是mvvm设计模式中数据层(m)和视图层(v)的同步应用,在写入数...

  • 电脑各种文件同步的软件

    文件同步软件是一类关于电脑各种文件同步的软件,可以在指定的两个文件夹之间进行单向或双向的同步,同时也能满足用户实现...

  • AQS的原理及源码分析

    AQS是什么 AQS= volatile修饰的state变量(同步状态) +FIFO队列(CLH改善版的虚拟双向队...

网友评论

      本文标题:xinetd+lsyncd+rsync双向同步

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