YAZONG 我的开源

rsync的配置和以rsync的daemon工作模式传输数据

  ,
0 评论0 浏览

一、简介
rsync主要有三种工作方式:
1、单个主机本地之间的数据传输(类似于cp命令的功能)
2、借助rcp,ssh等通道来传输数据(类似于scp命令的功能)
3、以守护进程(socket)的方式传输数据(rsync自身的重要功能)
这里描述的是以第三种模式处理。
此例子准备了两台机器,分别为服务端10.0.0.41-backup,客户端10.0.0.100-oldboy。
 
二、在服务端启动及检查rsync服务
[root@backuptmp]# rsync --deamon #启动服务
[root@backuptmp]# ps -ef|grep rsync|grep -v grep
root      3648     1  0 19:10 ?        00:00:00 rsync--daemon
[root@backuptmp]# netstat -lntup|grep rsync
tcp       0      00.0.0.0:873                0.0.0.0:*                  LISTEN     3648/rsync 
tcp       0     0:::873                     :::*                       LISTEN      3648/rsync 
[root@backuptmp]# ss -lntup|grep rsync
tcp    LISTEN    0     5                    :::873                 :::*      users:(("rsync",3648,5))
tcp    LISTEN    0     5                     *:873                  *:*      users:(("rsync",3648,4))
[root@backuptmp]# lsof -i:873#默认端口
COMMAND  PIDUSER   FD   TYPE DEVICESIZE/OFF NODE NAME
rsync   3648root    4u IPv4 14421      0t0  TCP *:rsync (LISTEN)
rsync   3648root    5u IPv6 14422      0t0  TCP *:rsync (LISTEN)
 
三、服务端配置
[root@backup ~]# cat /etc/rsyncd.conf
#rsync_config_______________start
##rsyncd.conf start##
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
[backup]
path = /backup/
ignore errors
read only = false
list = false
hosts allow =  172.16.1.0/24
#hosts allow = 10.0.0.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#rsync_config_______________end
 
#上述中的hosts allow的IP不区分内外网,只要是对应网段的都可以。
#设置完上述文件之后要重启rsync
[root@backup ~]# useradd rsync -s /sbin/nologin  -M
[root@backup ~]# tail -1 /etc/passwd
rsync:x:502:502::/home/rsync:/sbin/nologin
[root@backup ~]# id rsync
uid=502(rsync) gid=502(rsync) ×é=502(rsync)
[root@backup ~]# mkdir /backup
[root@backup ~]# chown -R rsync.rsync /backup/
[root@backup ~]# ls -ld /backup/ 
drwxr-xr-x 2 rsync rsync 4096 5  23 19:41 /backup/
 
[root@backup ~]#echo"rsync_backup:oldboy">/etc/rsync.password
[root@backup ~]# cat /etc/rsync.password 
rsync_backup:oldboy
#/etc/rsync.password的内容对应了[root@backup ~]# cat /etc/rsyncd.conf中的
auth users = rsync_backup
secrets file = /etc/rsync.password
 
#把密码放在/etc/rsync.password中是因为不想再交互了
#当别人连过来,会连secrets file= /etc/rsync.password这个文件,会使用authusers = rsync_backup这个用户。
#连接需要密码,并且是root,所以针对其他用户来说,这里是不安全的,所以设置。
#要养成设置和查看的好习惯。
[root@backup ~]# ll /etc/rsync.password
-rw-r--r-- 1 root root 20 5  23 19:46 /etc/rsync.password
[root@backup ~]# chmod 600 /etc/rsync.password
[root@backup ~]# ll/etc/rsync.password 
-rw------- 1 root root 20 5  23 19:46 /etc/rsync.password
 
[root@backup run]# vim /etc/rc.local 
touch /var/lock/subsys/local
>/etc/udev/rules.d/70-persistent-net.rules
rsync –daemon
 
四、客户端设置
[root@oldboy ~]# mkdir -p  /backup
[root@oldboy ~]# echo "oldboy" >/etc/rsync.password
[root@oldboy ~]# chmod 600 /etc/rsync.password
[root@oldboy ~]# ll /etc/rsync.password
-rw------- 1 root root 7 5?  23 20:45 /etc/rsync.password
[root@oldboy ~]# cat /etc/rsync.password
oldboy
 
五、测试
#推测试
#100客户端
[root@oldboy ~]# ll -ltr /tmp/
total 0
-rw------- 1 root root 0 Mar  6 16:18 yum.log
-rw-r--r-- 1 root root 0 May 23 17:12 stu9
 
[root@oldboy ~]# rsync -avz/tmp/rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.password
sending incremental file list
./
stu1
stu10
stu11
stu12
stu13
sent 999 bytes received 414 bytes  2826.00bytes/sec
total size is 0 speedup is 0.00
[root@oldboy ~]# echo $?
0
#执行完步骤执行echo$?,结果如果为0的话,那么结果就是正确的。
 
#41服务端
[root@backup ~]# ll -ltr /backup/
×üóá 0
-rw------- 1 rsync rsync 0 3   6 16:18 yum.log
-rw-r--r-- 1 rsync rsync 0 5  23 17:12 stu9
-rw-r--r-- 1 rsync rsync 0 5  23 17:12 stu8
。。。。。。。。。。。。。。。
 
#拉测试
#100客户端执行
[root@oldboy ~]# rsync -avzrsync_backup@10.0.0.41::backup/tmp/ --password-file=/etc/rsync.password
receiving incremental file list
。。。。。。。。。。
stu9
yum.log
 
sent 467 bytes received 1083 bytes  3100.00bytes/sec
total size is 0 speedup is 0.00
[root@oldboy ~]# echo $?
0
 
#只会拉到客户端没有,而服务端目录中存在的文件。


标题:rsync的配置和以rsync的daemon工作模式传输数据
作者:yazong
地址:https://blog.llyweb.com/articles/2016/06/10/1578160452581.html