rsync命令详解
一、简介
二、命令参数
本地模式
rsync [选项] [源文件] [目标文件]
通过远程shell访问模式:
拉取(pull)
rsync [选项] 用户@主机:源文件 [目标文件]
推送(push)
rsync [选项] [源文件] 用户@主机:源文件
rsync 守护进程模式
拉取
rsync [选项] 用户@主机::源文件 [目标文件]
rsync [选项] rsync://用户@主机:端口/源文件 [目标文件]
推送
rsync [选项] [源文件] 用户@主机:源文件
rsync [选项] [源文件] rsync://用户@主机:端口/源文件 [目标文件]
rsync [选项] [源文件] <..[源文件]> [目标文件]
选项说明
参数 | 含义 |
---|---|
-v | 详细模式输出 |
-z | 传输时进行压缩以提高传输效率 |
-a | -a 参数可以替代-r ,除了可以递归同步以外,还可以同步元信息(比如修改时间、权限等)。由于 rsync 默认使用文件大小和修改时间决定文件是否需要更新,所以-a 比-r 更有用。 |
-r | 对子目录以递归模式,即目录下的所有目录都以同样的模式传输,注意是小写的r |
-P | 显示同步的过程及传输时的进度等信息 |
-e | 使用信道协议,指定替代rsh的shell程序,例如ssh |
-n | 如果不确定 rsync 执行后会产生什么结果,可以先用-n或--dry-run参数模拟执行的结果。 |
--exclued | 指定排除不需要传输的文件模式(和tar参数一样) |
--delete | 默认情况下,rsync 只确保源目录的所有内容(明确排除的文件除外)都复制到目标目录。它不会使两个目录保持相同,并且不会删除文件。如果要使得目标目录成为源目录的镜像副本,则必须使用--delete 参数,这将删除只存在于目标目录、不存在于源目录的文件。 |
--bwlimit=KBPS | 限制传输速度 |
三、实例详解
1.使用SCP模式同步时
https://superuser.com/questions/138893/scp-to-remote-server-with-sudo