美文网首页
第四十节、同步服务RSYNC

第四十节、同步服务RSYNC

作者: 妄语莫言 | 来源:发表于2018-01-16 21:59 被阅读0次
RSYNC服务

Rsync是Unix/Linux下的一款应用软件,利用它可以使多台服务器数据保持同步一致性,第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。
Rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。可以很容易做到保持原来文件的权限、时间、软硬链接等。

服务安装
#切换下载文件目录
[root@localhost ~]# cd /usr/src/
#下载服务稳定版本
[root@localhost src]# wget  http://rsync.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz  
--2018-01-04 12:26:05--  http://rsync.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz
正在解析主机 rsync.samba.org... 144.76.82.156, 2a01:4f8:192:486::443:2
正在连接 rsync.samba.org|144.76.82.156|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:779287 (761K) [application/gzip]
正在保存至: “rsync-3.0.7.tar.gz”
100%[============================================================>] 779,287      332K/s   in 2.3s    
2018-01-04 12:26:08 (332 KB/s) - 已保存 “rsync-3.0.7.tar.gz” [779287/779287])
#解压
[root@localhost src]# tar zxvf rsync-3.0.7.tar.gz
#进入源码包目录开始安装
[root@localhost src]# cd rsync-3.0.7 
[root@localhost rsync-3.0.7]# ls
access.c        config.sub      hashtable.c  options.c           rsyncd.conf.5    token.c
aclocal.m4      configure       hlink.c      packaging           rsyncd.conf.yo   trimslash.c
acls.c          configure.in    ifuncs.h     params.c            rsync.h          t_stub.c
authenticate.c  configure.sh    INSTALL      pipe.c              rsyncsh.txt      t_unsafe.c
backup.c        connection.c    install-sh   popt                rsync.yo         tweak_manpage
batch.c         COPYING         io.c         prepare-source      runtests.sh      uidlist.c
byteorder.h     csprotocol.txt  io.h         prepare-source.mak  sender.c         util.c
case_N.h        doc             lib          progress.c          shconfig.in      wildtest.c
checksum.c      Doxyfile        loadparm.c   proto.h             socket.c         wildtest.txt
chmod.c         errcode.h       log.c        proto.h-tstamp      support          xattrs.c
cleanup.c       exclude.c       main.c       README              syscall.c        zlib
clientname.c    fileio.c        Makefile.in  receiver.c          tech_report.tex
clientserver.c  flist.c         match.c      rounding.c          testhelp
compat.c        generator.c     mkproto.pl   rsync.1             testsuite
config.guess    getfsdev.c      NEWS         rsync3.txt          tls.c
config.h.in     getgroups.c     OLDNEWS      rsync.c             TODO
#预编译指定安装目录
[root@localhost rsync-3.0.7]# ./configure --prefix=/usr/local/rsync&&make&&make install

创建rsync服务端配置文件,一般linux系统会自带rsync服务但是没有相应的配置文件需要手动编辑创建

#提示缺少配置文件无法启动
[root@localhost rsync]# rsync --daemon
Failed to parse config file: /etc/rsyncd.conf
[root@localhost ~]# vim /etc/rsyncd.conf
#########[global] 全局配置
uid = nobody                            
gid = nobody
use chroot = no                          #不允许切换到根
max connections = 30               #最大允许客户端的连接数量
pid file = /var/run/rsyncd.pid      #查看进程pid号文件路径
lock file = /var/run/rsyncd.lock   #锁文件锁定pid,每次重启服务需要删除锁文件
log file = /var/log/rsyncd.log       #日志文件存放路径
transfer logging = yes                 #开启传输打印的日志
log format = %t %a %m %f %b   #定义日志的格式
syslog facility = local3                 #linux日志级别local3普通
timeout = 300                              #同步超时300秒报错
##########局部配置模块允许客户端同步自己的目录,多个目录设置多个模块
[www]
read only = yes                               #目录权限只读
path = /usr/local/webapps              #定义客户端同步的目录
comment = www                            #引用自己的模块名
auth users =test                             #客户端使用test用户同步
secrets file = /etc/rsync.pas           #在服务端定义好同步使用的用户名密码
hosts allow = 192.168.0.11,192.168.0.12  #允许同步自己的主机IP,逗号间隔添加多个主机
##############局部模块用于第二个目录
[web]
read only = yes
path = /data/www/web
comment = web
auth users =test
secrets file = /etc/rsync.pas
hosts allow = 192.168.1.11,192.168.0.0/24

Rsync配置参数说明:
[www] #要同步的模块名
path = /usr/local/webapps #要同步的目录
comment = www #这个名名称无所谓,最后模块名一致
read only = no # no客户端可上传文件,yes只读
write only = no # no客户端可下载文件,yes不能下载
list = yes #是否提供资源列表
auth users =test #登陆系统使用的用户名,没有默认为匿名。
hosts allow = 192.168.0.10,192.168.0.20 #本模块允许通过的IP地址
hosts deny = 192.168.1.4 #禁止主机IP
secrets file=/etc/rsync.pas #密码文件存放的位置

启动rsync服务查看进程及对应的端口号
[root@localhost rsync]# rsync --daemon 
[root@localhost rsync]# ps -ef|grep rsync             
root       7497      1  0 05:19 ?        00:00:00 rsync --daemon
root       7501   1286  0 05:19 pts/0    00:00:00 grep rsync
[root@localhost rsync]# netstat -ntpl|grep rsync
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      7497/rsync          
tcp        0      0 :::873                      :::*                        LISTEN      7497/rsync          
客户端同步命令
[root@localhost rsync]# rsync -aP  --delete test@192.168.0.100::www /usr/local/webapps    --password-file=/etc/rsync.pas 
#参数aP打印同步日志信息
#参数--delete 强制删除,客户端与源服务端必须保持完全一致
[root@localhost rsync]# rsync -av  test@192.168.0.100::www /usr/local/webapps    --password-file=/etc/rsync.pas 
#参数av增量同步

相关文章

网友评论

      本文标题:第四十节、同步服务RSYNC

      本文链接:https://www.haomeiwen.com/subject/txahoxtx.html