用途:
服务器之间常常要保持些文件或目录的一致,比如一些大的软件下载网站,它们通常使用 多台服务器来提供下载服务。当一台服务器上的文件更新后,其它的服务器也需要更新,而且 在更新的时候应该是只对新增或是修改过的文件进行更新,否则会造成网络带宽和时间的浪费。rsync就是能有效的保持文件及目录的一致的优秀软件。
特点:
rsync在同步文件的同时,可以保持原来文件的权限,时间戳,软硬连接等附加等信息, 同时rsync可以通过使用ssh方式传输文件,保证传输安全性
rsync命令工作模式:
第一种:shell模式,也称作本地模式
第二种:远程shell模式,此时可以利用ssh协议承载其数据传输过程第三种:列表模式,其工作方式与ls相似,仅列出源的内容;#rsync -nv第四种:服务器模式,此时,rsync可以工作为守护进程,能够接收客服端的数据传输请求;在使用时,可以在客户端使用rsync命令把文件发送给守护进程,也可以向服务器请求获取文件。rsync 命令选项
-n: 在不确定命令是否能按意愿执行时,务必要事先测试;-n可以完成此功能;-v: --verbose,详细输出模式-q: --quiet,静默模式-c: --checksum,开启校验功能,强制对文件传输进行校验-r: --recursive,递归复制;-a: --archives,归档,保留文件的原有属性-p: --perms 保留文件的权限-t: --times 保留文件的时间戳-l: --links 保留文件的符号链接-g: --group 保留文件的属组-o: --owner 保留文件的属主-D: --devices 保留设备文件(-a 相当于其他属性的总和 即-p -t -l -g -o -d...)-e ssh: 表示使用ssh协议作承载-z: 对文件压缩后传输--progress:显示进度条--stats: 显示如何执行压缩和传输
注意:
rsync命令使用中,如果源参数的末尾有斜线,就会复制指定目录的内容,而不复制目录本身;没有斜线,则会复制目录本身;目标参数末尾的斜线没有作用;
如:rsync -r /data /backup/ 将data整个目录同步到/backup中rsync -r /data /backup/ 将data目录中所有内容同步到/backup中