Rsync 是一种快速且极其通用的文件复制工具。以其 Delta 传输算法,通过仅发送源文件和目标中现有文件之间的差异来减少通过网络发送的数据量

Rsync 的几种复制方式:Local,SSH 和 RSH,TCP(rsync://URL)(但不支持在两个远程主机之间复制文件)

本地访问:
rsync [OPTION...] SRC... [DEST] 通过远程 shell 访问:
拉取 Pull:
rsync [OPTION...] [USER@]HOST:SRC... [DEST]
推送 Push:
rsync [OPTION...] SRC... [USER@]HOST:DEST 通过 rsync daemon 访问:
拉取 Pull:
rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
推送 Push:
rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

安装

yum install -y rsync

常用参数

-z:传输时进行压缩提高效率
-v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息
-P:显示文件传输的进度信息
-a --archive:归档模式,表示递归传输并保持文件属性,等同于"-rtopgDl"
-r --recursive:以递归模式拷贝目录
-R --relative:使用相对路径
-l --links:如果文件是软链接,则拷贝软链接本身而非软链接所指向的文件
-L --copy-links:如果文件是软链接,拷贝软链接指向的文件
-W --whole-file:拷贝文件时不进行增量检测
-t --times:保持 mtime 属性 rsync 默认用"quick check"算法决定哪些文件需要增量传输。此算法只比较文件的大小和 mtime,即使其它属性不同也会认为它们是完全相同的文件,从而不需要增量传输
建议任何时候都加上"-t",否则目标文件 mtime 会设置为系统时间,导致下次更新检查出 mtime 不同而导致增量传输无效

使用

源路径如果为目录,不带斜线表示目录本身和目录中的文件,带斜线表示目录中的文件,不包括本身

# 复制远程计算机 foo 上的 /src/bar/ 目录中的文件到本地 /data/tmp 目录中
rsync -avz foo:/src/bar/ /data/tmp # 复制远程计算机 foo 上的 /src/bar/ 目录到本地 /data/tmp 目录中
rsync -avz foo:/src/bar /data/tmp # 以下命令等效
rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo

文件名(* .c)中的通配符扩展为文件列表由 shell 在运行 rsync 之前处理,而不是由 rsync 本身处理

# 复制当前路径下所有以 .c 结尾的文件至远程计算机 foo 的 /src 目录中
# 对于远程系统上已存在的文件,会使用 rsync 远程更新协议,通过仅发送数据中的差异来更新文件
rsync -t *.c foo:/src/

https://rsync.samba.org/

http://www.cnblogs.com/f-ck-need-u/p/7221713.html

rsync 文件同步(差异复制)的更多相关文章

  1. Rsync文件同步

    Rsync文件同步 本章结构 关于rsync 1.一款增量备份工具,remote sync,远程同步,支持本地复制或者与其他SSH.rsync主机同步,官方网站:http://rsync.samba. ...

  2. CentOS系统rsync文件同步 安装配置

    rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync 它的特性如下: 可以镜像保存整个目录树和文件系统. 可以很容易做到保持原来文件的权限.时间.软硬 ...

  3. Rsync文件同步工具

    前段时间因公司需求,需要把备份的文件进行同步保存,后面就想到了我们大家都最熟悉的文件同步工作Rsync,于是就捣鼓了一下午时间,然后总结了下大概过程和参数详情. 首先了解了下rsync同步的大致原理: ...

  4. rsync 文件同步和备份

    rsync 是同步文件的利器,一般用于多个机器之间的文件同步与备份,同时也支持在本地的不同目录之间互相同步文件.在这种场景下,rsync 远比 cp 命令和 ftp 命令更加合适,它只会同步需要更新的 ...

  5. linux 下的 rsync 文件同步

    rsync是linux下的一款快速增量备份工具Remote Sync,是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息.rsync是用 “rsync ...

  6. inotify 与 rsync文件同步实现与问题

    首先分别介绍inotify 与 rsync的使用,然后用两者实现实时文件同步,最后说一下这样的系统存在什么样的问题. 1. inotify 这个具体使用网上很多,参考 inotify-tools 命令 ...

  7. rsync文件同步、Inotify-tools参数详解

    inotifywait用于等待文件或文件集上的一个待定事件,可以监控任何文件和目录设置,并且可以递归地监控整个目录树: inotifywatch用于收集被监控的文件系统计数据,包括每个inotify事 ...

  8. Rsync文件同步服务器配置

    rsync 是一个Unix/Linux系统下的文件同步和传输工具.rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法.可以用来做备份或镜像.一.配置文件rsync ...

  9. rsync文件同步详解

    一.  环境和测试说明 rsync(remote sync)是unix及类unix平台下的数据镜像备份软件,它不像FTP那样需要全备份,rsync可以根据数据的变化进行差异备份,从而减少数据流量,提高 ...

随机推荐

  1. [BZOJ 2186] [SDOI 2008] 沙拉公主的困惑

    Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为 \(1\) 到 \(N\) 的阶乘,但是,政府只发行编号与 \(M!\) 互质的钞票.房地产第 ...

  2. C# int数组转string字符串

    方式一:通过循环数组拼接的方式: int[] types = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; string result = string.Empty ...

  3. Codeforces543 B. Destroying Roads

    传送门:>Here< 题意:给出一张无向图(边权为1),并给出两对起点和终点以及距离:s1,t1,l1; s2,t2,l2; 要求删除尽量多的边,使得dis(s1,t1)<=l1, ...

  4. PHP错误代号列表

    代号 代号 语法 参考 T_ABSTRACT abstract 抽象类(自 PHP 5.0.0 起可用) T_AND_EQUAL &= 赋值运算符 T_ARRAY array() array( ...

  5. project 2013 工时完成百分比不会自动更新填充

    [工时完成百分比].[实际完成百分比]  需要手填 [完成百分比] 会自动填,如下图

  6. MT【288】必要性探路

    已知$f(x)=e^x-\dfrac{1}{2}ax^2-b$(1)当$a=1,b=1$时,求$f(x)$在$[-1,1]$上的值域.(2)若对于任意实数$x$,$f(x)\ge0$恒成立,求$a+b ...

  7. Min_25 筛小结

    Min_25 筛这个东西,完全理解花了我很长的时间,所以写点东西来记录一些自己的理解. 它能做什么 对于某个数论函数 \(f\),如果满足以下几个条件,那么它就可以用 Min_25 筛来快速求出这个函 ...

  8. centos7/rhel7安装较高版本ruby2.2/2.3/2.4+

    环境需求: 在Centos7.3中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4...那就有点麻烦了,譬如:我准备使用redis官方给 ...

  9. 跟angular2学一键开启项目--关于上个react-redux项目的一键调试

    一键调试类似于webpack的hot-loader,但是这个hot-loader并不怎么好用,想省事的同学可以配置一下就完了. 今天介绍browser-sync,用它来一键开启项目.它可以监听任意文件 ...

  10. Spring Data JPA Batch Insertion

    转自:https://www.jeejava.com/spring-data-jpa-batch-insertion/ Spring Data JPA Batch Insertion will sho ...