一.概念

Rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持连接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用。rsync时Linux和Unix系统默认安装的基本组件之一。

在远程同步任务中,负责发起rsync同步操作哦的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文档的原始位置,发起端对该目录具有读取权限。

[root@crushlinux ~]# rpm -qa | grep rsync
rsync--.el6_4..x86_64

二.配置文件

1.开启rsyncd服务

vim /etc/xinetd.d/rsync
          在这个路径下有配置文件
service rsync
{
        disable = yes   #说明rysnc是关闭的
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

可以看到rysnc服务是关闭的(disable = yes),这里把它开启,把disable的值改为no

2.创建rsync服务器配置文件vim  /etc/rsyncd.conf

手动添加一下内容

 uid = www 使用的用户
  gid = www
  use chroot = no  是否使用根目录锁   如果"use chroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true。
max connections =     指定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试。默认值是0,也就是没有限制。

timeout =    通过该选项可以覆盖客户指定的IP超时时间。通过该选项可以确保rsync服务器不会永远等待一个崩溃的客户端。超时单位为秒钟,0表示没有超时定义,这也是默认值。对于匿名rsync服务器来说,一个理想的数字是600。
address = .254监听地址(要备份的主机地址)
hosts allow =      //允许的主机
 hosts deny = *     //拒绝所有主机

log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid

[wwwroot]    模块名字,自定义命名
path = /mier/wwwroot/    指定该模块的提供备份的目录路径,该参数是必须指定的
comment = frist
read only = no
#list = no  是否把rsync 服务器上提供同步数据的目录显示
incoming  chmod  =       Du=rwx,Dg=rwx,Fu=rwx,Fgo=r
如果想要认证在另行配置
auth users = a            //授权用户
secrets = /etc/rsyncd_users.db          //存放账户信息的数据文件
dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z
                                        //同步时不再压缩的文件类型

3.启动rsync

 /usr/bin/rsync --daemon

注意:1.同步的目的目录(也就是你往里同步的目录)的属主属组要和你同步时的用户一样

2.selinux要关闭

   3.iptables要关闭

rsync -avz --exclude=*svn /data/www/$line/ /data/wwwroot/$line
     红色部分是同步的时候不同步那些数据
关闭rsync
    Kill $(cat /var/run/rsyncd.pid)

三.rsync命令的基本用法

1.命令格式及常用备份选项

格式:rsync [选项]原始位置目标位置

常用选项:

-r:递归创建

-l:对于符号链接文件仍然复制为符号链接文件

-v:显示同步过程中的详细信息

-a:归档模式保留文件的权限。属性等信息,等同于组合选项“-rlptgoD”

-z:在传输文件时进行压缩

-p:保留文件的权限标记

-t:保留文件的时间标记

-o:保留文件的文件的属主标记

-g:保留文件的属组标记

-H:保留硬链接文件

-A:保留ACL属性信息

-D:保留设备文件及其他特殊文件

--delete:删除目标位置有而原始位置没有的文件

--checkdum:根据校验和(而不是文件大小)来决定是否跳过文件

2.配置源的标记方法

rsync同步源的资源表示方法为

用户名@主计地址::共享模块名

rsync://用户名@主机地址/共享模块名

例:rsync –avz a@192.168.8.10::wwwroot /root

rsync –avz rsync://a@192.168.8.10/wwwroot  /root

rsync远程同步的更多相关文章

  1. rsync 远程同步 实时同步备份 两种免交互的方式实现实时备份

    rsync 远程同步: 一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH.rsync主机同步 作用:做数据备份 备份方式:      完全备份      增量备份 ...

  2. rsync远程同步的基本配置与使用

    rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用. rsync的官 ...

  3. Rsync远程同步工具使用

    rsync远程同步工具使用 Rsync(remote synchronize) 是一个远程数据同步工具,可以使用"Rsync算法"同步本地和远程主机之间的文件.Rsync的好处是只 ...

  4. hadoop(六)rsync远程同步|xsync集群分发(完全分布式准备三)|8

    前置环境准备:centos7克隆ip|机器名|映射关系|别名配置(hadoop完全分布式准备一)scp命令copy文件和配置(hadoop完全分布式准备二) rsync远程同步工具 优点 rsync主 ...

  5. rsync 远程同步部署——上下行同步

    rsync 远程同步部署--上下行同步 1.rsync (Remote Sync,远程同步) : 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用 ...

  6. linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录

    最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令的使用321就能搞定,结果rsync命令要支持自动登 录还是要配置服务和参数,又不确定网上说的配置的行不行,因为都 ...

  7. rsync - 远程同步工具

    一直没有对这个命令太有深入的理解 简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync ...

  8. CentOS6.5使用rsync远程同步

    需达成目标:在服务器(192.168.18.211)端搭建 rsync 服务,       将 /root/rsync-server/ 目录同步到客户端 /root/rsync-local 目录 Li ...

  9. [cmd] rsync - 远程同步工具

    简介 rsync 即 remote sync,一个远程与本地文件同步工具.rsync 使用的算法能够最小化所需复制的数据,因为它只移动那些修改了的文件. rsync 是一个非常灵活的同步工具,它也是一 ...

随机推荐

  1. 用GDB调试程序

    转自:http://blog.csdn.net/haoel/article/details/2879 是一篇从基础讲gdb的博文 用GDB调试程序 GDB概述---- GDB是GNU开源组织发布的一个 ...

  2. 008 Java集合浅析3

    在前面的几节里,本教程从整体架构上去把握了JDK中的集合框架,并简单分析了其中Collection组的顶级接口,知道Collection接口的常见直接子接口有List.Set和Queue,并就这三个子 ...

  3. java之JDK的环境变量配置

    JDK是什么? JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库. JDK包含的基本组件包括 java –--------> 运行编译后的java程序 ...

  4. php错误的处理

    错误的分类 通常分3种: 语法错误: 程序运行之前,都要先检查语法.如果语法有错误,就会立即报错,并且不会去执行程序. 运行时错误: 就是在程序语法检查通过后,,开始运行程序并在此过程中遇到的错误.常 ...

  5. JAVA基础知识(2)--队列的操作

    队列是一种线性表,它只允许在该表中的一端插入,在另一端删除. 允许插入的一端叫做队尾(rear),允许删除的一端叫做队头(front): 下面用Java的数组进行模拟队列的操作: /**2015-07 ...

  6. 2015.07.12hadoop伪分布安装

    hadoop伪分布安装   Hadoop2的伪分布安装步骤[使用root用户用户登陆]other进去超级用户拥有最高的权限 1.1(桥接模式)设置静态IP ,,修改配置文件,虚拟机IP192.168. ...

  7. jquery data属性的使用

    var func=function(){console.log("test")};$("div").data("test",func);$( ...

  8. shiro使用教程

    一.shiro是什么 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.不仅可以在Web项目中使用,在普通的项目中也是可以使用的 二.shiro可以做什 ...

  9. hive 锁表问题

    报错如下: Unable to acquire IMPLICIT, EXCLUSIVE lock dms@pc_user_msg@month=201611 after 100 attempts. 显示 ...

  10. 实用开发之-oracle表回滚到一个指定时间的操作语句

    在开发或客户使用过程中,难免会出现误操作或脏数据,那么怎么迅速处理这个问题呢? 1.备份还原就用了,太麻烦. 就是使用ORACLE的备份功能,然后在还原,还原的时候新建一个库,然后使用dblink进行 ...