首页 > 代码库 > Rsync详解
Rsync详解
一、拷贝操作
本地拷贝,相当cp
[root@NFSServer ~]# rsync /etc/hosts /opt
[root@NFSServer opt]# rsync -avz /etc/hosts /opt
保存属性一般参数 使用-v是进度,-z压缩传输-a归档模式
二、删除操作
[root@NFSServer ~]# rsync -r --delete /null/ /data/
rsync的删除操作,先建立一个空的目录null,然后把data目录下的文件删除。删除原理是,前面的null是空的,后面的data也会变成空的,如果null有data也有
三、rsync的推操作
rsync -avz /etc/hosts -e ‘ssh -p 22‘ csbmoon@192.168.3.200:~
-e参数是使用的通道
四、rsync的拉操作
rsync -avz -e ‘ssh -p 22‘ csbmoon@192.168.3.200:/etc/hosts /root/
五、指定排除不需要传输的文件推送
[root@NFSServer bier]# rsync -avz /root/bier --exclude=a.txt -e ‘ssh -p 22‘ csbmoon@192.168.3.200:~
==>排除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 开机自启动
检测端口是否启动:
[root@NFSServer ~]# 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
七、创建模块目录并且授权
[root@NFSServer ~]# mkdir /bier
[root@NFSServer ~]# useradd rsync -s /sbin/nologin
[root@NFSServer ~]# chown -R rsync.rsync /bier
八、创建验证用户密码
[root@NFSServer ~]# echo "rsync_backup:123456">/etc/rsync.password
[root@NFSServer ~]# cat /etc/rsync.password
rsync_backup:123456
[root@NFSServer ~]# chmod 600 /etc/rsync.password
至此服务端的免密码认证配置完毕。
客户端的操作
客户端只需要放密码进去密码文件认证就可以
[root@NFSClient ~]# echo "123456">/etc/rsync.password
[root@NFSClient ~]# chmod 600 /etc/rsync.password
下面在客户端测试拉操作不需要密码认证
[root@NFSClient /]# rsync -avz rsync_backup@192.168.3.188::bier /data --password-file=/etc/rsync.password
或者
[root@NFSClient data]# rsync -avz rsync://rsync_backup@192.168.3.188/bier /data --password-file=/etc/rsync.password
客户端推到服务器端操作
[root@NFSClient data]# rsync -avz /data/ rsync_backup@192.168.3.188::bier --password-file=/etc/rsync.password
注意:推和拉,文件都统一存放到了刚刚设置的bier模块里面
高级实战
排除多个文件
[root@NFSClient data]# rsync -avz --exclude={a,b} /data/ rsync_backup@192.168.3.188::bier --password-file=/etc/rsync.password
[root@NFSClient data]# rsync -avz --exclude={a..b} /data/ rsync_backup@192.168.3.188::bier --password-file=/etc/rsync.password
也可以在配置文件中排除指定文件,一般不这样子用--exclude=a b
排除指定文件里面的文件名,标记了哪个 文件名 该文件就不同步
[root@NFSClient data]# rsync -avz --exclude-from=paichu.log /data/ rsync_backup@192.168.3.188::bier --password-file=/etc/rsync.password
无差异同步
--delete 本地有啥,远端也有啥,反之。这样子做有风险
[root@NFSClient data]# rsync -avz --delete /data/ rsync_backup@192.168.3.188::bier --password-file=/etc/rsync.password ==》推
[root@NFSClient data]# rsync -avz --delete rsync_backup@192.168.3.188::bier /data/ --password-file=/etc/rsync.password ==》拉
[root@NFSClient data]# rsync -avzP /data/ rsync_backup@192.168.3.188::bier --password-file=/etc/rsync.password
-P参数指定传输的进度
本文出自 “比尔linux运维笔记” 博客,请务必保留此出处http://chenshoubiao.blog.51cto.com/6159058/1881339
Rsync详解