rsync
Posted liang545621
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync相关的知识,希望对你有一定的参考价值。
功能说明:rsync是一款开源、快速的、多功能的、可实现全量及增量的本地或远程数据镜像同步备份的游戏工具。rsync适用于Unix/Linux/windows等多种操作系统平台。
rsync命令三种模式:
1.本地模式
rsync [选项] [源文件] [目标文件]
2.通过远程shell访问模式
拉取: rsync [选项] 用户@主机:源文件 [目标文件]
推送: rsync [选项] [源文件] 用户@主机:目标文件
3.守护进程模式
拉取:
rsync [选项] 用户@主机::源文件 [目标文件]
rsync [选项] rsync://用户@主机:端口/源文件 [目标文件]
推送:
rsync [选项] [源文件] 用户@主机::目标文件
rsync [选项] [源文件] rsync://用户@主机:端口/目标文件
参数选项:
-v,--verbose 详细模式输出,传输时的进度等信息。
-z,--compress 传输时进行压缩以提高传输效率,--compress-level=NUM 可安级别压缩。
-a,--archive 以递归方式传输文件,并保持所有文件的属性,相当于 -rtopgDl 。
-r,--recursive 对子目录以递归模式,即目录下的所有目录都以同样的方式模式传输。
-t,--times 保持文件的时间信息。
-o,--owner 保持文件的属主信息。
-p,--perms 保持文件的权限。
-g,--group 保持文件的属组信息。
-P,--progress 显示同步的过程及传输时的进度等信息。
-D,--devices 保持设备文件信息。
-l,--links 保留软链接。
-e,--rsh=COMMAND 使用信道协议,指定替代rsh的shell程序,如ssh。
-n 测试选项,模拟执行。
--exclude=PATTERN 指定排除不需要传输的文件模式(和tar参数一样)。
--exclude-from=FILE 从文本文件读取需要排除的文件列表。
--bwlimit=KBPS 限制传输速度。
--delete 使目标目录内容和源保持目标一致,删除不同的文件。
经验技巧:
1.生产场景常用选项:-avz。
2.关于z压缩选项的使用建议,如果为内网环境,且没有其他业务占用带宽,可以不使用z选项。不压缩传输,几乎可以满带宽传输(千M网络),压缩传输则网络发送速度就会骤降,压缩的速率赶不上传输的速度。
如果源目录的末尾有斜线,就会复制目录内的内容,而不是复制目录本身
如果源目录没有斜线,则会复制目录本身及目录下的内容
本地复制的例子(类似CP)
删除文件的特殊例子(--delete)
说明:假设一个目录下有几十万个文件,用此方法可以最快删除所有文件。选项--delete使 /tmp 目录内容和空目录 /null 保持一致,即/null 有什么内容, /tmp 目录就会有什么内容。下面例子会把 /tmp目录下所有文件都删除。
拉取文件及目录
推送文件及目录
利用ssh隧道模式(-e)拉取推送文件及目录
拉取: rsync -av -e ‘ssh -p 22‘ /tmp 192.168.190.18:/tmp/
推送: rsync -av -e ‘ssh -p 22‘ 192.168.190.18:/tmp/ /tmp
以上是关于rsync的主要内容,如果未能解决你的问题,请参考以下文章