rsync 交互过程

执行命令:./rsync -av root@localhost::yougotit/trie ./zzxx 时,一览客户端和服务端交互的信息
符号标记:C 客户端 同时也是 receiver,S 服务端 同时也是sender




具体交互过程(连接后):
// 客户端协议版本号
C->S: "@RSYNCD: 31.0\n" 


// 服务端协议版本号                           
S->C: "@RSYNCD: 30.0\n"


// 同步的模块名                            
C->S: "yougotit\n" 


// 服务端要求密码验证,IyKE/cOppcgfUc8jSn950g用于处理密码,提高安全性                                
S->C: "@RSYNCD: AUTHREQD IyKE/cOppcgfUc8jSn950g\n" 


// 用户名 和密码
C->S: "root Zr17jc0Ibi3CiLIsSeQZWQ\n  


// 服务端通知客户端验证通过             
S->C: "@RSYNCD: OK\n"  


// 服务端需要用到的参数,参数之间以'\0'作为分界符,最后的参数后面再跟一
// 个空参数的分界符,表示参数传递完毕                            
C->S: "--server\0--sender\0-vlogDtpre.iLs\0.\0yougotit/trie\0\0"  


S->C: 1字节的 compat_flags,4字节的 checksum_seed
C->S: 4字节的数值0




LOOP1##  S->C: 传输文件(夹)名字属性,1字节的数值1(recv_file_list中的
            flags,为0表示此层次的文件(夹)传输完毕),flags不为0 则传
            1字节的数值l2(recv_file_entry中的l2),l2字节的文件(夹)名
            字 "trie",3字节的文件(夹)内容长度,4字节的文件修改时间
            modtime 数值1389282516,4字节的文件(夹)mode(访问权限)数
            值040755,1字节的uid 数值0,4字节的gid 数值0
S->C: 2字节的文件(夹)索引ndx 若 ndx = -2, 则所有的文件(夹)属性传输
    结束,继续传2字节的索引;若为正常的索引值(如数值-101,这里的-101会
    减去基准值使索引值为正),重复执行LOOP1,传递索引为ndx(此时为trie文
    件夹)的文件夹下的文件或文件夹属性;若为>=0 的数值(表示将要传输相应
    的文件(夹))则继续下面的步骤




S->C: 4字节的sum->count,4字节的sum->blength,4字节的sum->remainder
S->C: 传递文件内容:4字节的data块大小i,i字节的块内容;传完内容后,传结束
符4字节的数值0
S->C: checksum_len(作为特例值为16)长的刚才所传文件内容的校验值



for others click bellow:

how  rsync  works












  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值