必威体育Betway必威体育官网
当前位置:首页 > IT技术

Linux下-部署Rsync服务

时间:2019-09-09 08:41:06来源:IT技术作者:seo实验室小编阅读:54次「手机版」
 

rsync

Rsync  简介;

Rsync  是一款开源的、快速的 多功能的 可以实现全量以及增量的本地或者是远程的数据同步备份的优秀工具

并且可以不进行改变原有的数据属性信息,实现数据的备份和迁移的特性 ,Rsync 软件适用于 linux/unix/windows  等多种操作系统上 。

Rsync备份服务知识点;

1,Rsync可以实现的备份方式 ;

  • 本地备份
  • 远程备份
  • 无差异备份
2,Rsync实现方式介绍 ;

  •  全量备份数据
  •  增量备份数据 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+ 全量  - 增量的区别                                                +

+          完整数据传送表示为 全量  ,  传送新增加的数据表示增量,    +

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 实现rsync增量同步数据,是运用了其独特的“quick check”算法

centos5,rsync2.x比对方法,把所有的文件比对一遍,然后进行同步。

CentOS6,rysnc3.x比对方法,一边比对差异,一边对差异的部分进行同步。

3,Rsync 特性总结说明 ;

  •  01:支持多种类型文件拷贝
  •  02:支持文件复制排除功能
  •  03:支持文件复制属性不变
  •  04:支持文件复制增量同步
  •  05:支持文件复制隧道加密
  •  06:支持守护进程同步数据
  •  07:支持数据同步身份验证

1. 可以镜像保存整个目录树和文件系统;

2. 可以很容易做到保持原来文件的权限、时间、软硬链接等;

3. 无须特殊权限即可安装;

4. 优化的流程,文件传输效率高;

5. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;

6. 支持匿名传输,以方便进行网站镜像。

 

4,Rsync复制原理说明  ;

网站内部人员数据备份场景 

1,定时任务+rsync

    网站外部用户数据备份场景

       2,实时同步工具+rsync

5,Rsync工作方式,介绍  ;

       5.1  本地方式  、 隧道方式  、守护进程 ;

5.2 单个主机本地之间的数据传输(此时类似于cp命令的功能)。

5.3 借助rcp,ssh等通道来传输数据(此时类似于scp命令的功能)。

5.4 以守护进程(socket)的方式传输数据(这个是rsync自身的重要的功能)。

=======================开始部署===================================

[root@rsync ~]# rpm -qa | grep rsync                  #查看软件是否安装

rsync-3.0.6-12.el6.x86_64

[root@rsync ~]# 

[root@rsync ~]# rsync --version                           #查看版本信息 

rsync  version 3.0.6  protocol version 30

Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.

Web site: http://rsync.samba.org/

Capabilities:

64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,

socketpairs, hardlinks, symlinks, IPv6, BATchfiles, inplace,

APPend, ACLs, xattrs, iconv, symtimes

rsync comes with absoluteLY NO WARRANTY.  This is free software, and you

are welcome to redistribute it under certain conditions.  See the GNU

General Public Licence for details.

配置rsync软件的配置文件

cat >>/etc/rsyncd.conf<<EOF 

#rsync_config

#created by HQ at 2017

##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

ignore ERRORs

read only = false

list = false

hosts allow = 172.16.1.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

[backup]

comment = "backup dir by oldboy"

path = /backup

EOF

########################### 配置文件注释 #####################################

#rsync_config

#created by oldboy 15:00 2016-11-15

##rsyncd.conf start##

uid = rsync                          # 用户 远端的命令使用rsync访问共享目录

gid = rsync                          # 用户组                        

use chroot = no                      # 安全相关

max connections = 200                # 最大连接数

timeout = 300                        # 超时时间

pid file = /var/run/rsyncd.pid      # 进程对应的进程号文件

lock file = /var/run/rsyncd.lock    # 锁文件

log file = /var/log/rsyncd.log      # 日志文件

ignore errors                        # 忽略错误

read only = false                    # 可写

list = false                        # 不能列表

hosts allow = 172.16.1.0/24          # 允许连接的服务器

hosts deny = 0.0.0.0/32             # 后勤组连接的服务器

auth users = rsync_backup            # 虚拟用户

secrets file = /etc/rsync.password  # 虚拟用户对应的用户和密码文件

[backup]                            # 模块名称

path = /backup                      # 服务端提供访问的目录

########################### 配置文件注释 #####################################

第一步  ; 创建备份存储的目录,和创建管理用户用户组 

[root@rsync ~]# mkdir -p backup                 #创建目录

[root@rsync ~]# ls

backup  install.log  install.log.syslog  optimize-init_sys.sh  sysctl.conf

[root@rsync ~]# useradd rsync -s /sbin/nologin -M        #创建rsync备份目录的管理用户与用户组

[root@rsync ~]# chown -R rsync.rsync backup/                #授权

[root@rsync ~]# ll    

总用量 64

-rw-------. 1 root  root   1510 11月 18 2017 anaconda-ks.cfg

drwxr-xr-x. 2 rsync rsync  4096 6月  21 23:05 backup

-rw-r--r--. 1 root  root  30419 11月 18 2017 install.log

-rw-r--r--. 1 root  root   9371 11月 18 2017 install.log.syslog

-rwxr-xr-x. 1 root  root   4065 8月   5 2017 optimize-init_sys.sh

-rwxr-xr-x. 1 root  root   2184 8月   5 2017 sysctl.conf

[root@rsync ~]# 

第二步;创建服务端和客户端的身份认证文件

[root@rsync ~]# echo "rsync_backup:oldboy123" >/etc/rsync.password

[root@rsync ~]# chmod 600 /etc/rsync.password   #配置文件权限只允许 root 用户查看 

[root@rsync ~]# cat /etc/rsync.password

rsync_backup:oldboy123

[root@rsync ~]# 

第三步 ;启动 rsync 服务 

[root@rsync ~]# rsync --daemon                  #启动服务

[root@rsync ~]# netstat -lntup |grep rsync         #rsync   端口是 873 端口 

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

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

[root@rsync ~]# 

CentOS 默认以 xinetd 方式运行 rsync 服务。rsync 的 xinetd 配置文件 在 /etc/xinetd.d/rsync。

要配置以 xinetd 运行的 rsync 服务需要执行如下的命令,也可以rsync --daemon 这样独立运行 。

# chkconfig rsync on

# service xinetd restart

======================= 客户端配置  ===============================

[root@localhost ~]# rpm -qa | grep rsync           #查看软件是否安装,如已安装则无需在进行安装 

rsync-3.0.9-18.el7.x86_64

[root@localhost ~]# echo "oldboy123" >/etc/rsync.password        #创建认证

[root@localhost ~]# cat /etc/rsync.password

oldboy123

[root@localhost ~]# 

[root@localhost ~]# rsync --daemon          #启动服务 

[root@localhost ~]# netstat -lntup |grep rsync       #查看是否监听端口 

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

tcp6       0      0 :::873                  :::*                    LISTEN      1397/rsync          

[root@localhost ~]# 

[root@rsync ~]# rsync -av /etc/hosts 172.16.1.8:/mnt/

[email protected]'s password: 

sending incremental file list

hosts

[root@localhost ~]# cd /mnt/

[root@localhost mnt]# ls

hosts

[root@localhost mnt]# 

rsync 中的推和拉的概念 ;

#######################  rsync备份服务部署扩展功能  ############################

①. rsync服务端多模块功能配置

 

配置文件多模块信息

[root@rsync backup]# cat /etc/rsyncd.conf 

#rsync_config

#created by HQ at 2017

##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

ignore errors

read only = false

list = false

hosts allow = 172.16.1.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

[backup]

comment = "backup dir by oldboy"

path = /backup

[nfsbackup]                     #新增加的一个模块 

comment = "nfsbackup dir by oldboy"

path = /nfsbackup

说明:01:修改配置文件信息,实现多模块功能后,需要重启rsync服务

      02:多模块信息配置好后,需要创建多模块指定备份目录

  

# 创建多模块目录

mkdir /nfsbackup

mkdir /nfsbackup -p

chown -R rsync.rsync /nfsbackup/

ll -d /nfsbackup/

# 进行多模块目录测试

rsync -avz /etc/rc.local [email protected]::backup --password-file=/etc/rsync.password 

rsync -avz /etc/rc.local [email protected]::nfsbackup --password-file=/etc/rsync.password 

# 利用rsync客户端在备份目录中创建多级目录

①. 多级目录的表现格式为 backup/sa/   如果sa后面没有接/ 表示的是文件不是目录

②. rsync客户端创建目录,只能创建一级,不能创建多级目录

# 利用rsync客户端同步数据(非常重要)

rsync -avz /tmp/ [email protected]::backup/ --password-file=/etc/rsync.password 

说明:/tmp/ 表示同步tmp目录下内容,但不包含目录本身

rsync -avz /tmp [email protected]::backup/ --password-file=/etc/rsync.password 

说明:/tmp 表示同步tmp目录下内容及目录本身

===============================================================

#rsync异常问题总结:

问题一:

[root@nfs tmp]# rsync -avz /etc/hosts [email protected]::backup

Password: 

@ERROR: auth failed on module backup

rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]

问题原因:

①. 认证的用户名或者密码输入的不正确

②. 认证文件编写有问题(认证内容信息)

③. 认证文件的权限设置的不正确(权限为600,文件用户和用户组还是root不变)

④. rsync服务端配置文件中指定的认证文件路径与实际认证文件路径不符

问题二:

[root@nfs01~]#rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password

rsync: failed to connect to 172.16.1.41: Connection refused (111)

rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]

问题原因:

①. rsync服务没有启动

问题三:

rsync -avz /etc/sysconfig/network [email protected]::nfsbackup --password-file=/etc/rsync.password 

@ERROR: chdir failed

rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]

解决原因:

①. rsync服务端没有模块指定的目录,需要进行创建和授权

问题四:

[root@web01 ~]# rsync -avz /etc/rc.local [email protected]::backup/sa/ --password-file=/etc/rsync.password 

sending incremental file list

rsync: mkdir "sa" (in backup) failed: File exists (17)

rsync error: error in file IO (code 11) at main.c(576) [receiver=3.0.6]

rsync: connection unexpectedly closed (5 bytes received so far) [sender]

rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]

①. 传输的文件或目录与备份服务目录中文件名称相同,拒绝传输

==========================End===================================

相关阅读

Windows下使用cwRsync定期备份网站

丢失数据是站长的噩梦,为了数据安全,一个好的智能的备分软件是必须的。这次为大家奉献上的是windows下的定期备分软件,cwRsync,希望可

分享到:

栏目导航

推荐阅读

热门阅读