zoukankan      html  css  js  c++  java
  • rsync sersync搭建

    目标服务器 192.168.100.47

    源服务器    192.168.100.46

    目标服务器配置

    [root@node01 nodejs]# cat /etc/rsyncd.conf
    #日志文件
    log file = /var/log/rsyncd.log
    #pid文件
    pidfile = /var/run/rsyncd.pid
    #锁文件
    lock file = /var/run/rsync.lock
    #密码文件
    secrets file = /etc/rsync.pass

    #自定义一个名称,认证模块名
    [nodejs]
    #要同步的目录
    path = /home/nodejs/
    #注释,要与自定义名称一致
    comment = nodejs
    #设置rsync运行权限
    uid = root
    gid = root
    #默认端口
    port=873
    #如果"use chroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true.但是这个一般不需要,我选择no或false
    use chroot = no
    #是否允许可读可写
    read only = no
    #是否允许列表
    list = no
    #最大连接数
    max connections = 200
    #超时时间
    timeout = 600
    #认证的用户名
    auth users = zmj
    #允许访问的ip,可填写192.168.153.0/24
    hosts allow = 192.168.100.0/24
    #默认的,不要动了。
    hosts deny = 0.0.0.0/32

    源服务器配置

    [root@master nodejs]# cat /etc/rsyncd.passwd
    abc123

    rsync -auv --password-file=/etc/rsyncd.passwd  /home/nodejs/ zmj@192.168.100.47::nodejs 

    同步成功

    sersync加入

    源服务器配置

    #安装sersync
    http://sersync.sourceforge.net/ 软件官网
    下载需要×××,我给上传到百度云了,欢迎下载。
    链接:https://pan.baidu.com/s/1-NcvYkyWBb7k3Gln8KZxlA 密码:ovd9


    [root@master sersync]# pwd
    /usr/local/sersync
    [root@master sersync]# ls
    confxml.xml sersync2
    [root@master sersync]#

    vim confxml.xml
    
    24     <sersync>
    25         <localpath watch="/home/nodejs/">
    26             <remote ip="192.168.100.47" name="nodejs"/>
    
    32             <auth start="true" users="zmj" passwordfile="/etc/rsyncd.passwd"/>
    
     38         <crontab start="true" schedule="600"><!--600mins-->
    
    参数说明:
    localpath wath="/home/nodejs" #源服务器同步目录
    <remote ip="192.168.100.47" name="nodejs"/> # 目标服务器ip,同步模块
    <auth start="true" users="zmj" passwordfile="/etc/passwd.txt"/> # users="xx" #使用xx去同步
    passwordfile="
    /etc/rsyncd.passwd
    " #使用的目标服务器密码文件为 start="true" schedule="600" 设置为true,每隔600分钟全盘同步一次

    #设置开机启动
    vim /etc/rc.d/rc.local
    /usr/local/sersync/sersync2 -d -r -o  /usr/local/sersync/confxml.xml
    
    #添加监控脚本
    vim /home/check_sersync.sh
    #!/bin/bash
    
    sersync="/usr/local/sersync/sersync2"
    confxml="/usr/local/sersync/confxml.xml"
    status=$(ps aux|grep 'sersync2'|grep -v grep|wc -l)
    
    if [[ $status -eq 0 ]]; then
        $sersync -d -r -o $confxml &
    else
        exit 0;
    fi
    
    #添加执行权限
    chmod +x /home/check_sersync.sh
    
    #设置定时任务
    crontab -e 
    #每隔两分钟执行一次
    */2 * * * * /bin/bash /home/check_sersync.sh > /dev/null 2>&1 

    测试同步

    在源服务器上 /home/nodejs/ 下放置一个redis的安装包及解压包。

    ls -l 
    total 1628
    drwxrwxr-x  6 root root    4096 Dec 18  2015 redis-3.0.6
    -rw-r--r--  1 root root 1372648 May  8 17:52 redis-3.0.6.tar.gz
    等两分钟以后去目标服务器 /home/nodejs 下查看文件是否正常同步。
    正常同步,说明配置成功了。
     
  • 相关阅读:
    Django学习案例一(blog):四. 使用Admin
    Django学习案例一(blog):三. 模型生成数据
    Django学习案例一(blog):二. 连接数据库
    连接Xively云
    undefined reference to `_sbrk', `_write', `_lseek', `_read'
    Android manifest
    关于android socket出现at java.net.DatagramSocket java.net.BindException at libcore.io.IoBridge.bind(IoBridge.java:89)等waring
    virtual box Failed to load unit ""pgm" 的error
    Lwip lwip_recvfrom函数一个数据包不能分多次读取。
    获取Window下的文件缩略图
  • 原文地址:https://www.cnblogs.com/mylovelulu/p/9334642.html
Copyright © 2011-2022 走看看