# 源目录后面有 "/"
[yun@backup ~]$ rsync -avz /etc/yum/ /tmp/zhang/
[yun@backup ~]$ ll /tmp/zhang/
total 4
drwxr-xr-x 2 yun yun 6 Apr 13 2018 fssnap.d
drwxr-xr-x 2 yun yun 54 Nov 14 2018 pluginconf.d
drwxr-xr-x 2 yun yun 26 Nov 14 2018 protected.d
drwxr-xr-x 2 yun yun 37 Apr 13 2018 vars
-rw-r--r-- 1 yun yun 444 Apr 13 2018 version-groups.conf
-v, --verbose 显示传输了哪些文件 ★★★★★
-z, --compress 传输时进行压缩以提高传输效率,--compress-level=NUM 指定加压缩级别。★★★★★
-P, --progress 显示同步的过程及传输时进度等信息 ★★★★★
-a, --archive 归档模式,表示以递归方式传输文件,并保持文件属性。等价于 -rlptgoD ★★★★★
-r, --recursive 对子目录以递归模式,即目录下的所有目录都同样传输【归档于-a】
-t, --times 保持文件时间信息【归档于-a】
-o, --owner 保持文件属主信息【归档于-a】
-g, --group 保持文件属组信息【归档于-a】
-p, --perms 保持文件权限信息【归档于-a】
-D, --devieves 保持设备文件信息【归档于-a】
-l, --linkd 保持软链接信息【归档于-a】
-L, --copy-links 如果是链接文件那么转为源文件复制【复制软连接的源文件】
-e, --rsh=COMMAND 使用信道协议,指定替代rsh的shell程序
--exclude=PATTERN 指出哪些文件或目录不需要传输,支持通配符
--exclude-from=FILE 在 FILE 文件中指定哪些文件或目录不需要传输
--include=PATTERN 指出哪些文件或目录不被排除要传输,支持通配符;通常配合 --exclude 或 --exclude-from 使用
--include-from=FILE 在 FILE 文件中指定哪些文件或目录不被排除需要传输;通常配合 --exclude 或 --exclude-from 使用
--bwlimit=RATE 限速 限制I / O带宽;K字节每秒
--delete 让目标DEST目录与SRC目录数据一致 【慎用】
部分参数示例说明
# --exclude=PATTERN 示例
[yun@backup tmp]$ rsync -avz --exclude=systemd.conf /etc/yum /tmp/zhang01
# 或者
[yun@backup tmp]$ rsync -avz --exclude=systemd.* /etc/yum /tmp/zhang01
# 或者 多个条件使用多个 --exclude=PATTERN
[yun@backup tmp]$ rsync -avz --exclude=systemd.conf --exclude=fastestmirror.conf /etc/yum /tmp/zhang05
# --exclude-from=FILE 示例
[yun@backup tmp]$ cat exclude.info
fastestmirror.conf
systemd.conf
vars
# 那么此时 fastestmirror.conf、systemd.conf 文件 和 vars 目录不会被拷贝
[yun@backup tmp]$ rsync -avz --exclude-from=exclude.info /etc/yum /tmp/zhang01
1 # --include=PATTERN 示例
2 ## 注意参数顺序:--include 或 --include-from 必须要在 --exclude 或 --exclude-from 之前
3 [yun@backup tmp]$ rsync -avz --include=systemd* --exclude=*.conf /etc/yum /tmp/zhang02
Rsync 本地模式实践
Local: rsync [OPTION...] SRC... [DEST]
示例如下:
rsync -avz /etc/yum /tmp/zhang01
Rsync 使用远程 SSH 通道实践
1 Access via remote shell:
2 Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
3 Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
拉取数据:将远程机器的数据复制到本地
[yun@backup ~]$ rsync -avzP -e 'ssh -p 22' yun@172.16.1.182:/etc/yum /tmp/zhang01
推送数据:将本地的数据复制到远程机器
[yun@backup ~]$ rsync -avzP -e 'ssh -p 22' /etc/yum yun@172.16.1.182:/tmp/zhang
Rsync daemon 服务模式实践