rsync两种模式:远程shell模式和rsync守护进程模式;每种模式下又分为推和拉同步方式。语法如下。
Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
Access via 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
Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
Access via 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
rsync 安装:
源码可以编译可以看README这个文件
yum install rsync -y
源码可以编译可以看README这个文件
yum install rsync -y
rsync的选项
都是常用选项,想全面可以man下就能把所以的选项显示出来。
-v, --verbose 详细模式输出
-q, --quiet 精简输出模式
-c, --checksum 打开校验开关,强制对文件传输进行校验
-r, --recursive 对子目录以递归模式处理
-R, --relative 使用相对路径信息
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义备份文件前缀
-p, --perms 保持文件权限
-o, --owner 保持文件属主信息
-g, --group 保持文件属组信息
-D, --devices 保持设备文件信息
-t, --times 保持文件时间信息
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间
--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息
-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
--delete 删除那些DST中SRC没有的文件
--delete-excluded 同样删除接收端那些被该选项指定排除的文件
--delete-after 传输结束以后再删除
-P 等同于 --partial 显示备份过程
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
-z, --compress 对备份的文件在传输时进行压缩处理
--exclude=PATTERN 指定排除不需要传输的文件模式
--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件
--password-file=FILE 从FILE中得到密码
The --password-file option may only be used when accessing an rsync daemon.
都是常用选项,想全面可以man下就能把所以的选项显示出来。
-v, --verbose 详细模式输出
-q, --quiet 精简输出模式
-c, --checksum 打开校验开关,强制对文件传输进行校验
-r, --recursive 对子目录以递归模式处理
-R, --relative 使用相对路径信息
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义备份文件前缀
-p, --perms 保持文件权限
-o, --owner 保持文件属主信息
-g, --group 保持文件属组信息
-D, --devices 保持设备文件信息
-t, --times 保持文件时间信息
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间
--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息
-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
--delete 删除那些DST中SRC没有的文件
--delete-excluded 同样删除接收端那些被该选项指定排除的文件
--delete-after 传输结束以后再删除
-P 等同于 --partial 显示备份过程
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
-z, --compress 对备份的文件在传输时进行压缩处理
--exclude=PATTERN 指定排除不需要传输的文件模式
--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件
--password-file=FILE 从FILE中得到密码
The --password-file option may only be used when accessing an rsync daemon.
推:
/usr/bin/rsync -auzvP /data0/web/* root@10.200.185.181:/data0/web/ 这个类似ssh一样,需要输入10.1.1.1的密码。
拉:
/usr/bin/rsync -auzvP root@10.200.185.181:/data0/web/ * /data0/web/
上面的模式如果想实现自动化,目前我只知道使用expect,参照http://gabylinux.blog.51cto.com/1593644/891557 这个就能实现。
/usr/bin/rsync -auzvP /data0/web/* root@10.200.185.181:/data0/web/ 这个类似ssh一样,需要输入10.1.1.1的密码。
拉:
/usr/bin/rsync -auzvP root@10.200.185.181:/data0/web/ * /data0/web/
上面的模式如果想实现自动化,目前我只知道使用expect,参照http://gabylinux.blog.51cto.com/1593644/891557 这个就能实现。
rsync -auzvP --password-file=/path/passwd $localdir user::remotehost/remotedir
给出一个拉复制的例子
注意配置aa.com的模块,已经rsync同步使用的账户和对应密码,及密码权限
remotedir=user.aa.com
localdir=/www/aa.com/
rsync -avzuP --password-file=/data1/bash/rsync.pas rsync@8.10.6.10::aa.com/$remotedir $localdir
当然你可以把整个同步脚本写的更人性化,更完美点,也确实能做出来,在一个论坛上已经有这方面的代码了。
给出一个拉复制的例子
注意配置aa.com的模块,已经rsync同步使用的账户和对应密码,及密码权限
remotedir=user.aa.com
localdir=/www/aa.com/
rsync -avzuP --password-file=/data1/bash/rsync.pas rsync@8.10.6.10::aa.com/$remotedir $localdir
当然你可以把整个同步脚本写的更人性化,更完美点,也确实能做出来,在一个论坛上已经有这方面的代码了。
补充,rsync的原理方面内容,感谢netkiller老大。
基于ssh和基于daemon的区别在于,前者会登录到(用上图例子,主机1 --->主机2)对应端上开启rsync一个进程(所有你在rsync同步时候你会发现两个进程),把对应端口告知本地,建立通道。而后在是监听rsync请求,自己处理这个过程。
rsync的滚动哈希值的设计基于Adler32算法,大致过程如下。
1、如上图,由于主机2没有A文件内容,会执行一次完全同步。下次再在主机1上执行rsync的时候,主机1按固定大小将主机1分为多块,每块都计算出一个32位的滚动哈希值和一个128位的MD4(有些也用MD5),发给主机2一端。
2、主机2一端从位置0开始按的同样块大小的滚动哈希值,查找看是否命中主机1给的某个滚动哈希值,若匹配,则表明主机2文件中的这块内容与对应的主机1中的那块内容很可能是一致的,不更新,如果不一致,则更新对应内容。
3,主机2会追加对应主机1上没有的内容。
发表评论
-
在linux网站运维方向老男孩最近几年常用的免费的开源软件
2013-02-18 23:35 1529http://blog.chinaunix.net/uid- ... -
rsync服务部署
2013-02-18 22:40 825http://oplinux.com/app/rsync/r ... -
centos6.0 配置SVN
2013-02-04 14:52 936http://blog.csdn.net/tonysz12 ... -
Centos搭建SVN服务器三步曲
2013-02-04 12:09 827搭建SVN服务,有效的管理代码,以下三步可以快速搞定。1、安 ... -
linux(centos)如何使用svn进行多个版本库的配置
2013-02-04 12:08 3484如果当前有svnserve进程在运行,指令 ... -
MySQL CMake参数说明手册
2012-12-24 10:52 739http://www.sunchis.com/html/db/ ... -
Nginx下搭建flv视频服务器且支持视频拖动进度条播放
2012-12-19 18:10 1130目前,由于Flash 的流行,网络上绝大多数的微视频网站 ... -
如何查询centos查看系统内核版本,系统版本,32位还是64位
2012-12-15 11:13 1129http://hi.baidu.com/tjbaso/item ... -
linux下磁盘I/O查看
2012-12-07 13:11 746http://zlbzhu.blog.51cto.co ... -
Centos5.5最小化安装后的优化
2012-11-20 23:16 1151购买了服务器(现在主流 ... -
CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2
2012-11-11 23:37 972说明: 操作系统:CentOS 6.2 32 ... -
CentOS minimal 版安装图形界面的步骤分享,中文语言包.
2012-11-11 22:33 6881、连接网络: CentOS minimal.iso安装好 ... -
CentOS 6.3编译安装Nginx1.2.2+MySQL5.5.25a+PHP5.4.5
2012-11-04 19:56 842说明: 操作系统:CentOS 6.3 32位 系 ... -
[HTML5]配置Ngnix服务器支持manifest 离线存储
2012-10-08 14:09 1303[HTML5]配 ... -
RSync实现文件备份同步
2012-09-21 12:20 712http://www.cnblogs.com/itech/ar ... -
CentOS 5 + rsync 同步2台服务器的文件
2012-09-21 12:11 792当需要把服务器上的文件复制到另外的机器上,可用rsync来同步 ... -
Linux下利用rsync实现多服务器文件同步
2012-09-21 12:07 872注意事项: 1、主服务器上有配置文件,从服务器上没有配置文件 ... -
Rsync命令参数详解
2012-10-08 14:06 683在对rsync服务器配置结束以后,下一步就需要在客户端发出rs ... -
Linux下SVN服务器搭建(CentOS+Subversion)
2012-09-20 09:52 696本文主要介绍SVN独立服 ... -
Nginx配置详解
2012-09-20 09:38 957#运行用户 user www www; ...
相关推荐
linux发行版中大多都自带rsync,不过版本比较低,一般都是2.6.X 在2.X的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存。 备份的时候,rsync扫描到的每个文件(目录也...
Rsync命令详解 在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。 一、rsync的六种工作模式: ...
3、进入到“auto_rsync_bat”文件夹下,修改批处理文件“rsync-demo.bat” 4、修改rsync-demo.bat 注意: 4.1、源目录必须使用“demo“中的样式。 4.2、其他几个变量请根据你实际操作的目录和远程主机信息来设置...
rsync+inotify实现实时同步 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同 步数据时,需要扫描所有文件后进行比对,进行差...
rsync 服务器架设方法 v0.1b (正在修订中) 作者: 北南南北 来自:Linuxsir.Org 摘要: rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用。...
RSYNC软件介绍: rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下: 可以镜像保存整个目录树和文件系统。 可以很容易做到保持原来文件的权限、时间、软硬链接...
rsync同步指定目录 rsync使用–include参数与–exclude参数来实现同步指定目录,并且–exclude目录放在后面。 例如: linux上文件目录 代码如下: ls /usr/local/apache/htdocs/site aa bb cc dd ee .. zz 只想同步...
ubuntu rsync中文乱码 window ubuntu rsync同步中文乱码.docx
aix下rsync安装包,可用于AIX平台下与linux平台下的数据同步
Rsync is a fast and extraordinarily versatile file copying tool. It can copy locally, to/from another host over any remote shell, or to/from a remote rsync daemon. It offers a large number of options ...
AIX文件同步复制工具RSYNC,rsync-3.1.2 for aix6.1。。。
linux 下rsync文件夹同步配置,可以定时。
rsync常见错误及解决方法rsync常见错误及解决方法rsync常见错误及解决方法
rsync-3.1.2-4.el7.x86_64.rpm linux系统下rsync安装包
适用于Centos7.9的rsync 工具安装包 rsync-3.1.2-10.el7.x86_64.rpm
于是放弃,打算用rsync进行同步,在摸索的过程中走了很多湾路,所以写出来让大家参考,网上的大部份的windows 和 rsync的教程都是存在问题的同步不了! 首先是要进群晖的SSH里进行修改相关配置文件,详细的见附件。 ...
rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下: 1、可以镜像保存整个目录树和文件系统。 2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。 3、...
linux系统下rsync同步数据命令详细解答。
ranger-2.1.0-usersync.tar.gz
远程文件传输rsync-断点续传及增量传输,rsync实现断点续传 传送文件较大时,如果网络中断了,重传比较费时。可以考虑使用rsync命令替代scp来断点续传文件 win10下使用git配置rsync实现断点续传,解压缩后cp到git对应usr...