Open maodouchen opened 5 years ago
rysnc的目的是实现本地主机和远程主机上的文件同步(本地推到远程,远程拉到班底两种同步方式) 涉及到了源文件和目标文件的概念,以及以哪边的文件为同步的基准 是否要删除源主机上没有,但是目标主机上多出来的文件。 rsync同步过程中由两部分模式组成,决定哪些文件需要同步的检查模式,文件同步时的同步模式。
检查模式是指按照规则来检查哪些文件需要被同步 rsync使用‘quick check’的算法,默认情况下快速检查源文件和目标文件的大小,修改时间是否一致,如果不一致则需要传输。也可以通过在rsync命令行中指定某些选项来改变quick check的检查模式,比如--size-only选项标识quick check仅将检查文件的大小不同的文件作为待传输文件。
同步模式是指文件确定要被同步后,在同步的过程和功能发生之前要做哪些额外的工作 比如上文所说的是否要先删除源主机上没有,但是目标主机上有的文件,是否要先备份已存在的目标文件,是否要追踪链接文件等额外操作。。 一般情况下,会手动指定同步模式,不会手动指定检查模式,因为手动指定检查模式会影响rsync的性能。
local
通过remote shell权限
通过rsync daemon权限
push:
pull:
第一种是本地文件系统实现同步 第二种是本地主机使用远程shell和远程主机实现通信。类似我们登录服务器的方式? 第三种是本地主机通过网络套接字连接主机上的rsync daemon 后面会介绍 还有第四种通过远程shell启动一个临时的rsync daemon,这不同于方式3,不需要远程主机上实现启动rsync服务,而是临时派生出rsync daemon,他是单用途的一次性daemon,仅用于临时读取daemon的配置文件,当此次同步完成时远程shell启动的rsync daemon进程也会自动消失。 我们之前的mks应该使用的是方式3
类似我们登录服务器的方式?
后面会介绍
rsync -a /etc/ /tmp 将etc下的所有目录同步到tmp中 rsync -a /etc /tmp 将etc下的所有目录包括etc这个目录 同步到tmp中
-v 显示同步过程中的所有信息 -a 归档模式 标识传输并保持文件属性 -u 仅在源文件修改时间比目标文件的修改时间新时才拷贝。 ...
试想,你的机器上有一堆文件需要时不时的同步到众多服务器上,比如a,b,c是专门传输到web服务器上的,def 目录是专门同步到ftp服务器上的,还要对这些目录中的某些文件进行排除,如果通过远程shell的连接方式,无论是使用排除规则还是包含规则,甚至一条条的rsync命令去传输,这都没问题,但是泰国繁琐且每次都要输入同样的命令 很死板,rsync daemon就解决了这类问题,他向外提供服务,这样只要告诉别人的rsync url路径,外人就能想ftp服务器一样获取文件列表,并进行选择性的下载。
简介:
rysnc的目的是实现本地主机和远程主机上的文件同步(本地推到远程,远程拉到班底两种同步方式) 涉及到了源文件和目标文件的概念,以及以哪边的文件为同步的基准 是否要删除源主机上没有,但是目标主机上多出来的文件。 rsync同步过程中由两部分模式组成,决定哪些文件需要同步的检查模式,文件同步时的同步模式。
检查模式是指按照规则来检查哪些文件需要被同步 rsync使用‘quick check’的算法,默认情况下快速检查源文件和目标文件的大小,修改时间是否一致,如果不一致则需要传输。也可以通过在rsync命令行中指定某些选项来改变quick check的检查模式,比如--size-only选项标识quick check仅将检查文件的大小不同的文件作为待传输文件。
同步模式是指文件确定要被同步后,在同步的过程和功能发生之前要做哪些额外的工作 比如上文所说的是否要先删除源主机上没有,但是目标主机上有的文件,是否要先备份已存在的目标文件,是否要追踪链接文件等额外操作。。 一般情况下,会手动指定同步模式,不会手动指定检查模式,因为手动指定检查模式会影响rsync的性能。
rsync的三种工作方式
local
通过remote shell权限
通过rsync daemon权限
push:
pull:
第一种是本地文件系统实现同步 第二种是本地主机使用远程shell和远程主机实现通信。
类似我们登录服务器的方式?
第三种是本地主机通过网络套接字连接主机上的rsync daemon后面会介绍
还有第四种通过远程shell启动一个临时的rsync daemon,这不同于方式3,不需要远程主机上实现启动rsync服务,而是临时派生出rsync daemon,他是单用途的一次性daemon,仅用于临时读取daemon的配置文件,当此次同步完成时远程shell启动的rsync daemon进程也会自动消失。 我们之前的mks应该使用的是方式3options
-v 显示同步过程中的所有信息 -a 归档模式 标识传输并保持文件属性 -u 仅在源文件修改时间比目标文件的修改时间新时才拷贝。 ...
rsync daemon
试想,你的机器上有一堆文件需要时不时的同步到众多服务器上,比如a,b,c是专门传输到web服务器上的,def 目录是专门同步到ftp服务器上的,还要对这些目录中的某些文件进行排除,如果通过远程shell的连接方式,无论是使用排除规则还是包含规则,甚至一条条的rsync命令去传输,这都没问题,但是泰国繁琐且每次都要输入同样的命令 很死板,rsync daemon就解决了这类问题,他向外提供服务,这样只要告诉别人的rsync url路径,外人就能想ftp服务器一样获取文件列表,并进行选择性的下载。