服务器文件传输工具--Rsync

rsync的命令参数主要包括如下

rsync  
    -a  归档模式,表示以递归方式传输文件,并保持所有属性
    -r  对于目录以递归模式处理,主要针对目录,传输的是目录必须加-r
    -v  打印一些信息出来,比如速率,文件数量等。
    -l  保留软连链
    -L  向对待常规文件一样处理软链接,如果是src(源机)中有软链接文件,刚加上该选项后会把软连接指向的目标文件拷贝到dst(目标机)
    -p  保持文件权限
    -o  保持文件属主信息
    -g  保持文件属组信息
    -D  保持 设备文件信息
    -t  保持 文件时间信息
    --delete 删除那些dst中src没有的文件
    --exclude=PATTERN指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt)
        PATTERN路径是相对弄要同步的路径如(rsync -avPz --exclude=zabbix /opt/sh 10.8.64.99::backup/tmp/ #排除的是/opt/sh/zabbix)
    --progress或-P 在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量,同步的文件传输速度等等。。。
    --bwlimit=10 (限制传输速度)
    -u  加上这个选项后将会把DST中比SRC还新的文件排除掉,不会覆盖
    -z  压缩   传输的过程中会压缩,我们并不会感知。 文件到了目标机器上我们看到的是一样的。
    (工作中常用的几个 -a  -v  --delete  --exclude)

使用rsync传输文件有两种模式,一种是通过ssh隧道来传输,另一种是通过连接服务端的rsync daemon来传输。

一下举一些例子来说明两种传输模式。

rsync同步ssh隧道方式:#后面的目录是目标地址
    例1:rsync -avPz 192.168.183.109:/tmp/1.txt /tmp/   拉文件:远程到本机
    例2:rsync -avPz /tmp/1.txt  192.168.183.109:/tmp/   推文件:本机到远程
    例3:rsync -avPz -e "ssh -p 10022" /tmp/1.txt  192.168.183.109:/tmp/   推文件:本机到远程,端口不是22的情况
rsync同步daemon方式
    例1:不需要密码   学ssh免密码登陆
    rsync -auvPz --bwlimit=10 (限制传输速度) tmp.txt test@<ip>::test --password-file=~/.rsync.password
    例2:查询rsyncd可用模块   (list参数,yes会显示,no不会显示)
    rsync -list --port 8873  192.168.186.118::

转自https://banbanpeppa.github.io/2019/09/18/linux/rsync/

posted @ 2021-07-06 17:13  Bravo_Jack  阅读(747)  评论(0编辑  收藏  举报