rsync 简介:

(1) rsync 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件
(2) rsync 使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快
(3) rsync 可以实现增量同步文件,也可以实现全量同步文件;可以实现本地同步文件,也可以实现远程同步文件

[root@localhost ~]$ yum install -y rsync          # 要使用rsync实现远程同步,要求两端都安装rsync工具
rsync -avzP /etc/passwd /tmp/1.txt                # 本地同步,表示把/etc/passwd文件同步到/tmp目录并改文件名为1.txt
rsync -avzP /data/aaaa/ /tmp/bbbb/ # 本地同步,表示把/data/aaaa目录同步到/tmp目录并改目录名为bbbb,同步目录时,最好在末尾都加上/
rsync -avzP /etc/passwd 192.168.1.2:/tmp/1.txt # 远程同步,表示把/etc/passwd文件同步到远程192.168.1.1的/tmp目录并改名为1.txt
rsync -avzP /etc/passwd 192.168.1.2::tmp/1.txt # 远程同步,表示把/etc/passwd文件同步到远程192.168.1.1的tmp模块的指定目录下并改名为1.txt

rsync 通过ssh的方式实现远程同步:

rsync -avzP /tmp/1.txt 192.168.1.2:/tmp/2.txt                  # 表示把本机的/tmp/1.txt文件同步到远程192.168.1.1的/tmp目录并改名为2.txt
rsync -avzP 192.168.1.2:/tmp/2.txt /tmp/1.txt # 表示把远程192.168.1.1的/tmp/2.txt文件同步到本机的/tmp目录并改名为1.txt
rsync -avzP -e "ssh -p 37" /tmp/1.txt 192.168.1.2:/tmp/2.txt # rsync默认是通过ssh服务连接并实现远程同步的,如果远程的ssh端口号不是22,可以通过该选项指定

rsync 通过服务的方式实现远程同步:

1. 服务端配置:

[root@localhost ~]$ cat /etc/rsyncd.conf
uid=root # 指定模块以指定的UID传输文件
gid=root # 指定模块以指定的GID传输文件
use chroot=no # 自行百度,一般填no就行
max connections=3000 # 指定最大的客户端连接数
log file=/var/log/rsyncd.log # 指定日志文件路劲
pid file=/var/run/rsyncd.pid # 指定pid文件路径
lock file=/var/run/rsyncd.lock # 指定lock文件路径
log format= %t %a %m %f %b # 指定日志格式
syslog facility=local3 # 指定rsync发送日志消息给syslog时的消息级别
reverse lookup=no # 禁用守护进程端的反向查找
timeout=1200 # 指定传输超时时间
port = 3873 # 指定服务端监听的端口,默认是873 [tmp] # 指定模块名
path=/tmp # 指定模块对应的路径
comment=server # 模块的描述信息
list=no # 是否允许客户端查询服务端上开放的模块
read only=no # 如果是yes,则不能上传到该模块指定的路径下(即写操作)
ignore errors=yes # 是否忽略错误
hosts allow = 192.168.1.2 # 允许远程同步的客户端
hosts deny = * # 拒绝远程同步的客户端
auth users = rsync # 指定同步时的认证用户,客户端必须通过 rsync -avzP 1.txt rsync@server_ip::1.txt 指定认证用户
secrets file = /etc/rsync.server # 指定同步时的认证密码文件,文件权限必须是600
[root@localhost ~]$ cat /etc/rsync.server    # 配置认证密码文件,文件权限必须是600
rsync:54983254dgqdagrgfta
[root@localhost ~]$ chmod 600 /etc/rsync.server
[root@localhost ~]$ rsync --daemon    # 以daemon方式启动rsync,会监听配置文件中指定的端口(3873)

2. 客户端同步文件:

[root@localhost ~]$ cat /etc/rsync.client    # 配置认证密码文件,文件权限必须是600,注意格式与服务端的不同,只需要写密码即可
54983254dgqdagrgfta
[root@localhost ~]$ chmod 600 /etc/rsync.server
[root@localhost ~]$ rsync -avzP --port=3873 --password-file=/etc/rsync.client 1.txt rsync@192.168.1.1::tmp/1.txt >> /tmp/rsync.log 2>&1

rsync 命令参数:

-a          # 相当于使用-rtplgoD这些选项
-r # 如果同步目录要加上该选项,类似 cp 的 -r 选项
-v # 显示同步时的详细信息,让我们知道同步的过程
-l # 同步时保留软链接
-p # 保持文件的权限
-o # 保持文件的属主
-g # 保持文件的属组
-D # 保持设备文件信息
-t # 保持文件的时间属性
-L # 同步软链接的同时也同步软链接指向的源文件,如果加上该参数就不需要加上-l参数了
-P # 显示同步过程,比-v更详细,会显示同步的进度,显示同步的网络速率,显示同步了多长时间
-u # 如果目标文件比源文件新,则不同步
-z # 文件传输前先压缩再同步
-e # rsync默认是通过ssh服务连接并实现远程同步的,如果远程的ssh端口号不是22,可以通过 -e "ssh -p 3737" 来指定
--port # rsync服务端默认监听873端口,如果不是该端口要用--port=3873来指定
--timeout # 限制传输的超时时间,单位为秒,如 --timeout=1200
--bwlimit # 限制传输的网络速率,单位为KBytes,如 --bwlimit=3000
--delete # 如果dest存在src中没有的文件或目录,会把dest中src没有的文件删除
--exclude # 过滤指定文件,如 --exclude ".svn" 会把文件名包含 svn 的文件或目录过滤掉,不同步

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

  1. linux 远程同步数据工具rsync (1)

    rsync 远程同步数据工具,是linux下的数据备份工具rsync(remote sync 远程同步) 特点:在本地同步数据(类似于cp,但是有不同于远程scp),它会先判断已经存在的数据和远程数据 ...

  2. linux 远程同步数据工具rsync (2)

    在远程主机上建立一个rsync的服务器,在服务器上配置好rsync的各种应用,然后本机作为rsync的一个客 户端去连接远程的rsync服务器.如何去配置一台rsync服务器. 首先配置/etc/rs ...

  3. 通过在shell脚本中用scp或rsync实现远程同步文件

    通过在shell脚本中用expect实现远程scp文件  shell expect的简单用法 http://myunix.blog.51cto.com/191254/1095074 http://ji ...

  4. Rsync 实现远程同步

    介绍 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部 ...

  5. Rsync(远程同步): linux中Rsync命令的实际示例

    rsync的 ( 远程同步 )为在Linux / Unix系统局部 拷贝和同步文件和目录远程以及一个最常用的命令. 随着rsync命令的帮助,您可以复制并在目录中远程和本地同步数据,在磁盘和网络,进行 ...

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

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

  7. rsync远程同步

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

  8. rsync - 远程同步工具

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

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

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

随机推荐

  1. Web攻防系列教程之文件上传攻防解析(转载)

    Web攻防系列教程之文件上传攻防解析: 文件上传是WEB应用很常见的一种功能,本身是一项正常的业务需求,不存在什么问题.但如果在上传时没有对文件进行正确处理,则很可能会发生安全问题.本文将对文件上传的 ...

  2. FreeRTOS 低功耗之 tickless 模式

    以下转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 本身支持的低功耗模式 tickless 实现方法,tickless 低功 ...

  3. [转]SQL Server 2012 的 T-SQL 新功能 – 新的数据分析函数(LEAD、LAG)

    当您需要在 SQL Server 中利用 T-SQL 比较结果集的每一列跟前一列或后一列的差异时,在过去可能需要利用 CURSOR 搭配临时表变量,或是透过递归 CTE 来达到这个效果,如今 SQL ...

  4. perl 计算方差中值平均数 Statistics::Descriptive;

    http://search.cpan.org/~shlomif/Statistics-Descriptive-3.0612/lib/Statistics/Descriptive.pm use Stat ...

  5. ASP.NET(C#)不提示直接关闭当前页面

    protected void Button1_Click(object sender, EventArgs e) { //关闭页面--要弹出提示(IE6及以下不弹出提示) ClientScript.R ...

  6. 基于jquery的可拖动div

    昨天给大家介绍了一款基于jquery ui漂亮的可拖动div实例,今天要给大家分享一款基于jquery的可拖动div.这款可拖动div只要引用jquery就可以,无需引用jquery ui.还实时记录 ...

  7. SpringMVC之学习(0)

    Spring MVC 是一个模型 - 视图 - 控制器(MVC)的Web框架建立在中央前端控制器servlet(DispatcherServlet),它负责发送每个请求到合适的处理程序,使用视图来最终 ...

  8. 【Unity笔记】UGUI物体的渲染顺序

    ①不同Camera的Depth.(大在前,小在后)②同Camera的SortingLayer.(下在前,上在后)③同SortingLayer下的Order in Layer.(大在前,小在后)④同Or ...

  9. Cent OS 6.5下安装gcc-5.3.0

    目录: .下载源码包 .安装以前版本的GCC编译器 .文件传输 .熟悉解压命令 .安装流程 .开始安装 .安装必备包之GMP,MPFR,MPC的安装 .继续安装         [1.下载源码包]   ...

  10. java的static块执行时机<转>

    一.误区:简单认为JAVA静态代码块在类被加载时就会自动执行.证错如下: class MyClass1 { static {//静态块 System.out.println("static  ...