Rsync详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rsync详解相关的知识,希望对你有一定的参考价值。


一、拷贝操作

本地拷贝,相当cp

[[email protected] ~]# rsync /etc/hosts /opt


[[email protected] opt]# rsync -avz /etc/hosts /opt


保存属性一般参数 使用-v是进度,-z压缩传输-a归档模式


二、删除操作

[[email protected] ~]# rsync -r --delete /null/ /data/

rsync的删除操作,先建立一个空的目录null,然后把data目录下的文件删除。删除原理是,前面的null是空的,后面的data也会变成空的,如果null有data也有


三、rsync的推操作

rsync -avz /etc/hosts -e ‘ssh -p 22‘ [email protected]:~


-e参数是使用的通道


四、rsync的拉操作

rsync -avz -e ‘ssh -p 22‘ [email protected]:/etc/hosts /root/


五、指定排除不需要传输的文件推送

[[email protected] bier]# rsync -avz /root/bier --exclude=a.txt -e ‘ssh -p 22‘ [email protected]:~


==>排除bier目录下的a.txt文件的推送


类似的有tar --exculude

tar -X=tar --exclude-from



服务端

六、rsync配置推拉不需要密码认证

rsync的配置文件在 /etc/rsyncd.conf  需要自己创建

编辑vim /etc/rsyncd.conf  加入如下内容:

#port=873

uid = rsync

gid = rsync

use chroot = no

max connections = 200

timeout = 300

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

[bier]

path = /bier/


[data]  ==>可以共享多个目录

path = /data/



ignore errors

read only = false

list = false

hosts allow = 10.0.0.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup  #指定验证用户名,可以不设置

secrets file = /etc/rsync.password


保存退出,以守护进程模式启动:rsync –daemon

加入到/etc/rc.local 开机自启动


检测端口是否启动:

[[email protected] ~]# netstat -lnptu | grep 873 

tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      4410/rsync          

tcp        0      0 :::873                      :::*                        LISTEN      4410/rsync    


七、创建模块目录并且授权

[[email protected] ~]# mkdir /bier

[[email protected] ~]# useradd rsync -s /sbin/nologin

[[email protected] ~]# chown -R rsync.rsync /bier



八、创建验证用户密码

[[email protected] ~]# echo "rsync_backup:123456">/etc/rsync.password

[[email protected] ~]# cat /etc/rsync.password

rsync_backup:123456

[[email protected] ~]# chmod 600 /etc/rsync.password


至此服务端的免密码认证配置完毕。




客户端的操作

客户端只需要放密码进去密码文件认证就可以

[[email protected] ~]# echo "123456">/etc/rsync.password

[[email protected] ~]# chmod 600 /etc/rsync.password


下面在客户端测试拉操作不需要密码认证

[[email protected] /]# rsync -avz [email protected]::bier /data --password-file=/etc/rsync.password


或者


[[email protected] data]# rsync -avz rsync://[email protected]/bier /data --password-file=/etc/rsync.password


客户端推到服务器端操作

[[email protected] data]# rsync -avz /data/ [email protected]::bier --password-file=/etc/rsync.password


注意:推和拉,文件都统一存放到了刚刚设置的bier模块里面



高级实战

排除多个文件

[[email protected] data]# rsync -avz --exclude={a,b} /data/ [email protected]::bier --password-file=/etc/rsync.password


[[email protected] data]# rsync -avz --exclude={a..b} /data/ [email protected]::bier --password-file=/etc/rsync.password


也可以在配置文件中排除指定文件,一般不这样子用--exclude=a b


排除指定文件里面的文件名,标记了哪个 文件名 该文件就不同步

[[email protected] data]# rsync -avz --exclude-from=paichu.log /data/ [email protected]::bier --password-file=/etc/rsync.password



无差异同步

--delete 本地有啥,远端也有啥,反之。这样子做有风险

[[email protected] data]# rsync -avz --delete /data/ [email protected]::bier --password-file=/etc/rsync.password    ==》推


[[email protected] data]# rsync -avz --delete [email protected]::bier /data/ --password-file=/etc/rsync.password    ==》拉


[[email protected] data]# rsync -avzP /data/ [email protected]::bier --password-file=/etc/rsync.password


-P参数指定传输的进度


本文出自 “比尔linux运维笔记” 博客,请务必保留此出处http://chenshoubiao.blog.51cto.com/6159058/1881339

以上是关于Rsync详解的主要内容,如果未能解决你的问题,请参考以下文章

Linux下的rsync远程增量备份详解

Linux下的rsync远程增量备份详解

rsync使用详解

rsync详解

rsync服务的简介和配置详解

Rsync详解