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 1598http://blog.chinaunix.net/uid- ... -
rsync服务部署
2013-02-18 22:40 871http://oplinux.com/app/rsync/r ... -
centos6.0 配置SVN
2013-02-04 14:52 998http://blog.csdn.net/tonysz12 ... -
Centos搭建SVN服务器三步曲
2013-02-04 12:09 911搭建SVN服务,有效的管理代码,以下三步可以快速搞定。1、安 ... -
linux(centos)如何使用svn进行多个版本库的配置
2013-02-04 12:08 3555如果当前有svnserve进程在运行,指令 ... -
MySQL CMake参数说明手册
2012-12-24 10:52 773http://www.sunchis.com/html/db/ ... -
Nginx下搭建flv视频服务器且支持视频拖动进度条播放
2012-12-19 18:10 1165目前,由于Flash 的流行,网络上绝大多数的微视频网站 ... -
如何查询centos查看系统内核版本,系统版本,32位还是64位
2012-12-15 11:13 1223http://hi.baidu.com/tjbaso/item ... -
linux下磁盘I/O查看
2012-12-07 13:11 801http://zlbzhu.blog.51cto.co ... -
Centos5.5最小化安装后的优化
2012-11-20 23:16 1184购买了服务器(现在主流 ... -
CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2
2012-11-11 23:37 1030说明: 操作系统:CentOS 6.2 32 ... -
CentOS minimal 版安装图形界面的步骤分享,中文语言包.
2012-11-11 22:33 7321、连接网络: CentOS minimal.iso安装好 ... -
CentOS 6.3编译安装Nginx1.2.2+MySQL5.5.25a+PHP5.4.5
2012-11-04 19:56 898说明: 操作系统:CentOS 6.3 32位 系 ... -
[HTML5]配置Ngnix服务器支持manifest 离线存储
2012-10-08 14:09 1417[HTML5]配 ... -
RSync实现文件备份同步
2012-09-21 12:20 765http://www.cnblogs.com/itech/ar ... -
CentOS 5 + rsync 同步2台服务器的文件
2012-09-21 12:11 868当需要把服务器上的文件复制到另外的机器上,可用rsync来同步 ... -
Linux下利用rsync实现多服务器文件同步
2012-09-21 12:07 932注意事项: 1、主服务器上有配置文件,从服务器上没有配置文件 ... -
Rsync命令参数详解
2012-10-08 14:06 725在对rsync服务器配置结束以后,下一步就需要在客户端发出rs ... -
Linux下SVN服务器搭建(CentOS+Subversion)
2012-09-20 09:52 743本文主要介绍SVN独立服 ... -
Nginx配置详解
2012-09-20 09:38 1004#运行用户 user www www; ...
相关推荐
在IT领域,尤其是在系统管理与数据同步操作中,`rsync`是一个不可或缺的工具。它在各种操作系统上广泛使用,包括Linux和Unix-like系统,如AIX。本篇文章将详细介绍在AIX环境下如何安装和使用`rsync`,以及它在跨平台...
linux发行版中大多都自带rsync,不过版本比较低,一般都是2.6.X 在2.X的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存。 备份的时候,rsync扫描到的每个文件(目录也...
### Linux下rsync文件夹同步配置详解 #### 引言 在Linux环境下,rsync工具因其高效、稳定、灵活的特点,被广泛应用于文件备份、数据迁移以及文件夹同步等场景。本文将详细介绍如何在Linux系统中配置rsync进行...
Rsync是另一个非常重要的工具,它用于高效地同步和备份文件。在本教程中,我们将深入探讨如何在Cygwin环境下安装rsync 3.0.8版本,并学习其基本用法。 首先,我们需要获取`rsync-3.0.8`的安装包。这个过程可以通过...
rsync常见错误及解决方法 rsync是一款功能强大的远程数据同步工具,它可以在不同的主机之间同步文件和目录。但是,在使用rsync时,可能会遇到各种错误,本文将总结一些常见的rsync错误及其解决方法。 一、@ERROR: ...
在“ranger-2.1.0-usersync.tar.gz”这个压缩包中,我们关注的是Ranger的用户同步工具(Ranger Usersync),这是一个关键组件,用于将组织的用户和组信息从身份提供者(如Active Directory或LDAP)同步到Hadoop集群...
Rsync命令详解 在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。 一、rsync的六种工作模式: ...
### rsync命令详解 #### 一、概述 `rsync`是Linux系统中一个非常强大的文件同步工具,它能够高效地在本地或者远程之间进行文件和目录的同步操作。相较于传统的`scp`命令,`rsync`具有更快的传输速度,并且支持增量...
### Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步 #### 1. Rsync简介 Rsync 是一个开源的、高效的文件同步工具,它主要用于在本地或远程主机之间同步文件和目录。Rsync 通过只传输源文件与目标...
**一键安装Rsync脚本** 是一个为了简化Rsync服务端环境部署而设计的实用工具。Rsync(Remote Sync)是一种高效、强大的文件同步和备份工具,广泛应用于系统管理员之间同步数据、备份服务器或者在多台机器间进行文件...
【RHEL5中的rsync服务配置】 RHEL5操作系统中,rsync是一个强大的文件同步工具,常用于在本地或远程系统之间同步数据。本篇将详细介绍如何配置rsync服务。 首先,确认RHEL5系统已经预装了rsync软件包。rsync服务的...
rsync是Linux操作系统中的一款强大的文件同步工具,其版本为3.0.6。这个工具以其高效、轻量级的特点而备受青睐,尤其适合在资源有限的环境中进行数据同步。rsync不仅支持本地文件和目录的同步,还能跨网络同步不同...
### rsync架设手册 #### 1. 什么是rsync? rsync是一个高效且功能强大的文件传输工具,专为Unix类系统设计。它利用所谓的“rsync算法”,能够迅速地在本地与远程服务器间同步文件,仅传输文件差异部分,大大节省了...
rsync+inotify实现服务器之间文件实时同步 rsync+inotify是一种实现服务器之间文件实时同步的解决方案,该方案可以实时监控文件系统的变化,并将变化同步到备份服务器中,保障数据的一致性和实时性。 rsync是一种...
`Rsync`和`sersync`是两个常用的工具,它们能够有效地帮助我们完成这个任务。本文将深入探讨这两个工具的工作原理、配置方法以及如何结合使用来实现实时同步。 **Rsync** `Rsync`是一个强大的、快速的文件同步和...
在Windows环境下,Git和rsync的结合使用可以提供高效、灵活的版本控制和文件同步解决方案。这个名为"window Git完美使用rsync.assets.7z"的压缩包可能包含了一套详细的指南,帮助用户在Windows上配置和利用这两个...
"rsync同步的艺术" rsync 是一个功能强大的文件同步工具,经常用于服务器之间的文件同步和备份。它能够确保文件的内容、权限和时间戳保持一致。下面是 rsync 的一些重要知识点: 1. rsync 的基本使用:rsync 可以...
RSYNC是一种强大的、高效的数据同步工具,常用于备份和镜像任务。它的架构设计使得它在数据传输过程中能实现快速同步,因为RSYNC利用了差异算法,只传输文件的改变部分,而不是整个文件。 在RSYNC的架构中,主要...