• CentOS 6.5 rsync服务的安装与配置


    一、rsync 简介
     
      Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录。 
      Rsync 是用于取代rcp的一个工具,Rsync使用所谓的 “Rsync 算法” 来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。您可以参考 How Rsync Works A Practical Overview 进一步了解 rsync 的运作机制。
      Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试。此外,它在windows平台下也有相应的版本,比较知名的有cwRsync和Sync2NAS。
      Rsync 的初始作者是 Andrew Tridgell 和 Paul Mackerras,它当前由 http://rsync.samba.org维护。
      Rsync的基本特点如下:
      1. 可以镜像保存整个目录树和文件系统;
      2. 可以很容易做到保持原来文件的权限、时间、软硬链接等;
      3. 无须特殊权限即可安装;
      4. 优化的流程,文件传输效率高;
      5. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
      6. 支持匿名传输,以方便进行网站镜像。
      在使用 rsync 进行远程同步时,可以使用两种方式:远程 Shell 方式(建议使用 ssh,用户验证由 ssh 负责)和 C/S 方式(即客户连接远程 rsync 服务器,用户验证由 rsync 服务器负责)。
      无论本地同步目录还是远程同步数据,首次运行时将会把全部文件拷贝一次,以后再运行时将只拷贝有变化的文件(对于新文件)或文件的变化部分(对于原有文件)。
      rsync 在首次复制时没有速度优势,速度不如 tar,因此当数据量很大时您可以考虑先使用 tar 进行首次复制,然后再使用 rsync 进行数据同步。
     
    rsync生产常用参数
    参数 说明 默认值
    exclude 指定多个由空格隔开的多个文件或目录(相对路径),并将其添加到 exclude 列表中。这等同于在客户端命令中使用 –exclude 来指定模式。
    exclude from 指定一个包含 exclude 规则定义的文件名,服务器从该文件中读取 exclude 列表定义。
    include 指定多个由空格隔开的多个文件或目录(相对路径),并将其添加到 include 列表中。这等同于在客户端命令中使用 –include 来指定模式 。
    include from 指定一个包含 include 规则定义的文件名,服务器从该文件中读取 include 列表定义。
     
    以守护进程(socket)的方式传输数据(这个是rsync自身的重要功能)
    防火墙开放873端口(两个节点)
    # /sbin/iptables -I INPUT -p tcp --dport 873 -j ACCEPT
    # /etc/rc.d/init.d/iptables save
    # service iptables restart
     
    关闭selinux(两个节点)
    # vi /etc/selinux/config
    修改如下内容:
    SELINUX=disabled
    # setenforce 0
     
    安装相关依赖包(两个节点)
    # yum -y install gcc gcc-c++ make perl wget rsync
    二、rsync服务器应用案例
    A、rsync服务器部署
    1.安装两种方式
    (1)、yum install -y rsync    ###在线安装rsync        
    (2)、wget http://pkgs.repoforge.org/rsync/rsync-3.0.9-2.el6.rfx.x86_64.rpm 
      rpm -ivh rsync-3.0.9-2.el6.rfx.x86_64.rpm     ###下载rsync软件包之后rpm安装
     
    2.查看是否安装成功
    [root@A data]# rpm -qa rsync ###查看是否安装成功      
    rsync-3.0.6-12.el6.x86_64
     
    3.创建rsync主配置rsyncd.conf文件
    [root@A data]# vi /etc/rsyncd.conf 
    uid = nobody
    gid = nobody
    use chroot = no    
    max connections = 200
    timeout = 300
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsync.lock
    log file = /var/log/rsyncd.log
    [donglq]
    path = /donglq/
    ignore errors
    read only = false
    list = false
    hosts allow = 192.168.0.0/24
    hosts deny = 0.0.0.0/32
    auth users = rsync_backup
    secrets file = /etc/rsync.password
    [data]
    path = /data/
    gnore errors
    read only = false
    list = false
    hosts allow = 192.168.0.0/24
    hosts deny = 0.0.0.0/32
    auth users = rsync_backup
    secrets file = /etc/rsync_data.password
    pid file = /var/run/rsyncd.pid
    log file = /var/log/rsyncd.log
    lock file=/var/run/rsyncd.lock
    secrets file = /etc/rsyncd.pw
    
    [channel]
    path = /home/b2b/tomcat-9400-channel/webapps/ROOT
    comment = channel
    port = 873
    uid = b2b
    gid = b2b
    timeout = 600
    max connections = 200
    use chroot = no
    read only = yes
    list = no
    hosts allow = 10.34.200.195
    hosts deny = *
    添加如下内容:
    #/etc/rsyncd.conf
    #pid文件的存放位置
    pid file = /var/run/rsyncd.pid
    #日志文件位置,启动rsync后自动产生这个文件,无需提前创建
    log file = /var/log/rsyncd.log
    #支持max connections参数的锁文件
    lock file=/var/run/rsyncd.lock
    #用户认证配置文件,里面保存用户名称和密码
    secrets file = /etc/rsyncd.pw
    #rsync启动时欢迎信息页面文件位置
    motd file = /etc/rsyncd.motd
    transfer logging = yes
    log format = %t %a %m %f %b
    syslog facility = local3
    #自定义名称
    [data]
    #设置需要同步的目录
    path = /data/
    #模块名称与[data]自定义名称相同
    comment = data
    指定/data目录下不需要同步的目录:exclude = dd,aa
    #默认端口
    port = 873
    #设置rsync运行ID号或账户名称,默认为nobody
    uid = nobody
    #设置rsync运行GID号或账户名称,默认为nobody
    gid = nobody
    #设置超时时间
    timeout = 600
    #最大连接数
    max connections = 200
    #默认为true,修改为no,增加对目录文件软连接的备份
    use chroot = no
    #设置rsync服务端文件为只读
    read only = yes
    #不显示rsync服务端资源列表
    list = no
    #允许进行数据同步的备份节点IP地址
    hosts allow = 192.168.0.112
    #设置拒绝所有(除hosts allow定义的主机外)
    hosts deny = *
    如果你的 rsync.conf是默认位置即:/etc/rsync.conf 那么你直接执行
    /usr/bin/rsync --daemon
    即可
    如果你的配置文件是自己定的位置,那么在后面跟上conf文件的参数就可以了
    /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
     
    4.创建rsync虚拟用户密码文件
    echo "rsync_backup:123456" >/etc/rsync.password   
    chmod 600 /etc/rsync.password           
    echo "rsync_backup:123456" >/etc/rsync_data.password
    chmod 600 /etc/rsync_data.password

    5.创建共享文件夹并将其用户属组修改为nobody

    [root@A data]mkdir /donglq
    [root@A data]mkdir /data
    [root@A data]chmod 600 /donglq /data
    [root@A data]chown nobody.nobody /data /donglq
    6.rsync --daemon ###daemon模式启动rsync       
    [root@A data]#  netstat -lntup | grep 873  ###查看rsync是否启动
    tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 1380/rsync          
    tcp 0 0 :::873 :::* LISTEN 1380/rsync
    设置开机启动(源节点)
    # echo "/usr/bin/rsync --daemon">>/etc/rc.d/rc.local
    B、rsync客户端部署
    1. 安装  
    yum install -y rsync ###在线安装rsync
     
    2. 查看是否安装成功
    netstat -lntup|grep 873
     
    3. 创建密码文件
    echo "123456" >/etc/rsync.password
    chmod 600 /etc/rsync.password
    echo "123456" >/etc/rsync_data.password
    chmod 600 /etc/rsync_data.password
     
    C、rsync调试
    [root@B ~]# rsync -avz rsync_backup@192.168.129.128::donglq /data/ --password-file=/etc/rsync.password 
     
    [root@C data]# rsync -avz rsync_backup@192.168.129.128::data /data/ --password-file=/etc/rsync_data.password 

     

    rsync -avH tom@10.34.200.215::data /home/b2b/data/
    
    rsync -avH --delete --exclude=/home/b2b/data/ROOT/WEB-INF/classes/aggregation.properties tom@10.34.200.215::channel /home/b2b/data
    
    rsync -avH --delete --exclude=aggregation.properties tom@10.34.200.215::channel /home/b2b/data
    
    
    0 * * * * rsync -avH tom@10.34.200.75::data /opt/data75/ > /dev/null 2>&1
    
    0 * * * * rsync -avH tom@10.34.200.11::data /opt/zicai_phone/huichuan/ > /dev/null 2>&1
  • 相关阅读:
    2.4 Git 基础
    MySQL的连接命令
    linux中的ls、cd、pwd命令
    Vim 快速入门之基本命令
    linux 中查看进程、杀死进程、进入进程的命令
    linux下文件夹的创建、复制、剪切、重命名、清空和删除的命令
    Linux下tar压缩和解压缩命令详解
    用Windows远程桌面连接树莓派的方法
    MariaDB数据库安装完需要初始化操作
    linux设置服务为自动启动和关闭并禁用的命令
  • 原文地址:https://www.cnblogs.com/opma/p/11607541.html
Copyright © 2020-2023  润新知