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详解的主要内容,如果未能解决你的问题,请参考以下文章