rsync服务介绍:一款实现全量及增量复制同步的软件工具

rsync服务命令简单应用(1v4的应用效果) ①. rsync == cp

[root@backup ~]# # rsync == cp效果
[root@backup ~]# cp -a /etc/hosts /tmp/
[root@backup ~]# ll /tmp/
total 4
-rw-r--r--. 1 root root 352 Jan 27 01:15 hosts
[root@backup ~]# rsync -a /etc/sysconfig/network /tmp/
[root@backup ~]# ll /tmp/
total 8
rw-r--r--. 1 root root 352 Jan 27 01:15 hosts
-rw-r--r--  1 root root  31 Jan 26 18:16 network

②. rsync == scp

    [root@backup ~]# scp -rp /tmp/ 172.16.1.31:/tmp/
    The authenticity of host '172.16.1.31 (172.16.1.31)' can't be established.
    RSA key fingerprint is 5b:9b:e6:79:a9:95:4f:be:06:41:e3:bb:7a:12:ee:b4.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '172.16.1.31' (RSA) to the list of known hosts.
    root@172.16.1.31's password: 
    network                                                                                                                              100%   31     0.0KB/s   00:00    
    hosts                                                                                                                                100%  352     0.3KB/s   00:00    
    [root@backup ~]# ll /tmp/
    total 8
    -rw-r--r--. 1 root root 352 Jan 27 01:15 hosts
    -rw-r--r--  1 root root  31 Jan 26 18:16 network
	[root@backup ~]# rsync -rp /tmp/ 172.16.1.31:/tmp/
    root@172.16.1.31's password: 

说明: 同步数据时,/tmp/目录后有/信息,表示将目录下面的数据内容进行备份同步 同步数据时,/tmp目录后没有/信息,表示将目录及目录下面的数据内容进行备份同步

③ rsync == rm 说明:rsync实现删除目录中数据内容过程,就将一个空目录和一个有数据的目录进行同步 最终,会将有数据的目录中的文件进行清空

    [root@backup ~]# mkdir /null
    [root@backup ~]# rsync --delete /null/ /tmp/
    rsync: --delete does not work without -r or -d.
    rsync error: syntax or usage error (code 1) at main.c(1422) [client=3.0.6]
    [root@backup ~]# 
    [root@backup ~]# rsync -r --delete /null/ /tmp/
    [root@backup ~]# ll /tmp/
    total 0

④ rsync == ls

	[root@backup ~]# ls /etc/hosts
    /etc/hosts
    [root@backup ~]# ls -l /etc/hosts
    -rw-r--r--. 2 root root 352 Jan 27 01:15 /etc/hosts
    [root@backup ~]# rsync /etc/hosts
    -rw-r--r--         352 2018/01/27 01:15:59 hosts

rsync软件工作方式 ①. 本地数据备份方式 Local: rsync [OPTION...] SRC... [DEST] rsync --- 数据备份传输命令 option --- 可以输入一下和rsync传输数据有关的参数 src --- 要进行备份的数据(文件/目录) dest --- 将数据信息备份到什么位置(相应路径中)

   [root@backup ~]# rsync -a /etc/hosts /tmp/ok.txt
   [root@backup ~]# ll /tmp/ok.txt 
   -rw-r--r-- 1 root root 352 Jan 27 01:15 /tmp/ok.txt

②. 远程数据备份方式

   Access via remote shell:
         Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
         Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

pull方式语法说明: rsync --- 数据备份传输命令 option --- 可以输入一下和rsync传输数据有关的参数 [USER@]HOST: --- 需要指定以什么用户身份登录到远程主机, 如果省略USER信息,表示以当前用户身份进行登录 登录主机地址或域名信息 SRC --- 指定远程主机要传输过来到本地的数据信息 dest --- 将数据保存到本地的什么路径中

push方式语法说明: rsync --- 数据备份传输命令 option --- 可以输入一下和rsync传输数据有关的参数 [USER@]HOST: --- 需要指定以什么用户身份登录到远程主机, 如果省略USER信息,表示以当前用户身份进行登录 登录主机地址或域名信息 SRC --- 指定本地主机要传输到远程主机的数据 dest --- 将本地数据保存到远端的什么路径中

③. 守护进程传输模式

 Access via rsync daemon:
        Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
              rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
        Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
              rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
   		   
   pull:rsync [OPTION...] [USER@]HOST::SRC... [DEST]
[USER@]HOST::       --- 指定远程连接的认证用户
SRC                 --- 指定相应的模块信息
[DEST]              --- 将远程数据保存到本地的路径信息

Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
[USER@]HOST::       --- 指定远程连接的认证用户
SRC                 --- 指定本地要进行推送的数据信息
[DEST]              --- 远程进行保存数据的模块信息

rsync守护进程部署流程 1)服务端部署流程 第一里程:检查软件是否安装

	  [root@backup ~]# rpm -qa rsync
      rsync-3.0.6-12.el6.x86_64

第二里程:编写配置文件

 vim /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
	  read only = true
	  [nfs]
      comment = "backup dir by oldboy"
      path = /nfs

第三个里程:创建备份目录管理用户 useradd rsync -M -s /sbin/nologin

第四个里程:创建备份目录 ``` mkdir /backup chown -R rsync.rsync /backup

	  
第五个里程:创建认证文件
  echo "rsync_backup:oldboy123"  >>/etc/rsync.password
  chmod 600 /etc/rsync.password
	  
第六个里程:启动rsync服务
`     rsync --daemon`

 2)客户端部署流程
 第一个里程:确认软件是否安装

[root@backup ~]# rpm -qa rsync rsync-3.0.6-12.el6.x86_64

	  
第二个里程:创建认证密码文件
  echo "oldboy123" >>/etc/rsync.password
  chmod 600 /etc/rsync.password

第三个里程:进行数据备份测试
  [root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password 
  sending incremental file list
  hosts
  
  sent 189 bytes  received 27 bytes  432.00 bytes/sec
  total size is 352  speedup is 1.63