云计算学习历程之-备份服务(rsync)上

rsync介绍

rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步,
支持增量传输(只同步变化的数据新消息主要利用里quick check算法实现)
同步原理:
1)建立网络连接
2)信息比对
3)只将辩护熬多数据进行增量备份

云计算学习历程之-备份服务(rsync)上_第1张图片

Rsync的特性

Rsync 的特性如下:

  1. 支持拷贝普通文件和特殊文件、设备等
  2. 可以又排除指定文件或目录同步的功能,相当于打包tar的排除功能
  3. 可以做到保持源文件或目录的权限、时间 、软硬连接、属主、组等所有属性均不改变 -p
  4. 可实现增量同步,既只同步发生变化的数据,因此数据传输效率很高(tar -N)
  5. 可以使用rcp,rsh,ssh等方式来配合进行隧道加密传输文件(rsync本身不对数据加密)
  6. 可以通过socket(进程方式)传输文件和数据(服务器和客户端)****(重点)
  7. 支持匿名的认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像。

rsync软件作用说明:(1v4)

本地数据备份:cp
云计算学习历程之-备份服务(rsync)上_第2张图片
注意:用rsync同步目录的时候 ,源路径目录不能以/结尾,否则会把里面的内容同步过去,而不是同步的目录。
eg: rsync -a /etc /temp/

远程数据备份:scp
云计算学习历程之-备份服务(rsync)上_第3张图片
云计算学习历程之-备份服务(rsync)上_第4张图片
可见,两个文件都从nfs01这台机器上传过来了。
数据删除操作:rm (–delete) 准确来说应该叫替换
在这里插入图片描述
在这里插入图片描述
这里直接把/temp里面的东西全部替换过来了,把原来的东西全部删除了。所以当你要清空某个文件夹的时候 可以创建一个空目录,然后用 rsync --delete命令替换,比rm效率高很多。

怎么恢复呢? 参考scp 用另一台机器的tmp直接替换过来。

查看数据信息:ls
命令 rsync 【要查看的文件】
云计算学习历程之-备份服务(rsync)上_第5张图片

利用守护进程方式实现数据同步
云计算学习历程之-备份服务(rsync)上_第6张图片
man rsync中的守护进程方式说明
服务器端部署步骤
2.2 配置rsync服务端(将服务端配置到 backup 服务器上)

第一个里程碑: 软件是否存在

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

第二个里程碑: 进行软件服务配置

[root@backup ~]# vim /etc/rsyncd.conf
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

第三个里程:创建rsync备份目录管理用户(虚拟用户)

[root@backup ~]# id rsyncid: rsync: No such user
[root@backup ~]# useradd -s /sbin/nologin -M rsync

第四个里程碑: 创建数据备份储存目录,目录修改属主

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

第五个里程碑: 创建认证用户密码文件

echo "rsync_backup:oldboy123" >>/etc/rsync.password
chmod 600 /etc/rsync.password

第六个里程碑: 启动rsync服

rsync --daemon

至此服务端配置完成

[root@backup ~]# ps -ef |grep rsync
root       2076      1  0 17:05 ?        00:00:00 rsync --daemon
root       2163   1817  0 17:38 pts/1    00:00:00 grep --color=auto rsync
[root@backup ~]# netstat -lntup |grep rsync
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                  
LISTEN      2076/rsync         
tcp        0      0 :::873                      :::*                        
LISTEN      2076/rsync   

配置rsync客户端(其他服务器为客户端)

第一个里程碑: 软件是否存在

[root@nfs01 ~]# rpm -qa |grep rsync
rsync-3.0.6-12.el6.x86_64

第二个里程碑: 创建认证文件

客户端的认证文件只需要有密码即可

echo "oldboy123" >>/etc/rsync.password
chmod 600 /etc/rsync.password

第三个里程碑: 实现数据传输

交互式

[root@nfs01 ~]# rsync -avzP /etc/hosts [email protected]::backup
Password:
sending incremental file list
hosts
         357 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1) 

sent 63 bytes  received 33 bytes  9.14 bytes/sec
total size is 357  speedup is 3.72

免交互式

[root@nfs01 ~]# rsync -avzP /etc/hosts [email protected]::backup --
password-file=/etc/rsync.password
sending incremental file list
hosts
         357 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1) 

sent 199 bytes  received 27 bytes  150.67 bytes/sec
total size is 357  speedup is 1.58

rsync 命令同步参数选项&特殊参数

目录参数 参数说明

  • -v,–verbose 详细模式输出,传输时的信息
  • -z,–compress 传输时进行压缩以提高传输效率
    –compress-level=NUM 可按级别压缩 局域网可以不用压缩
  • -a,–archive (主要) 归档模式,表示以递归方式传输文件,并保持文件属性。等于-rtopgDl
  • -r,–recursive 归档于-a 对子目录以递归模式,即目录下的所有目录都同样传输。小写r
  • -t,–times 归档于-a 保持文件时间信息
  • -o,–owner 归档于-a 保持文件属主信息
  • -p,–perms 归档于-a 保持文件权限
  • -g,–group 归档于-a 保持文件属组信息
  • -P,–progress 显示同步的过程及传输时的进度等信息
  • -e --rsh=COMMAND 使用的信道协议,指定rsh的shell程序 如ssh
  • –exclude=PATTERN 指定排除不需要传输的文件信息(和tar参数一样)
  • –exclude-from=file 文件名所在的目录文件,即课实现排除多个文件(和tar阐述一样)
  • bwlimit=RATE 传输限速
  • –delete 让目标目录SRC和源文件的dst一致,即无差异同步数据

4.1 特殊参数实践

指定ip:

[root@backup ~]# rsync --daemon --address=172.16.1.41
[root@backup ~]# netstat -lntup |grep 873
tcp     0   0 172.16.1.41:873     0.0.0.0:*        LISTEN      2583/rsync 
参数测试:
[root@nfs01 ~]# rsync -avzP /etc/services [email protected]::backup --
password-file=/etc/rsync.password
sending incremental file list
services
      641020 100%   19.34MB/s    0:00:00 (xfer#1, to-check=0/1) 

sent 127417 bytes  received 27 bytes  254888.00 bytes/sec
total size is 641020  speedup is 5.03

指定配置文件路径

[root@backup ~]# rsync --daemon --config=/etc/rsyncd.conf
[root@nfs01 ~]# rsync -avzP /etc/services [email protected]::backup --
password-file=/etc/rsync.password
sending incremental file list
sent 29 bytes  received 8 bytes  74.00 bytes/sec
total size is 641020  speedup is 17324.86

服务端指定服务端口:

[root@backup ~]# rsync --daemon --port=5222
[root@backup ~]# netstat -lntup|grep rsync
tcp        0      0 0.0.0.0:5222      0.0.0.0:*           LISTEN      2598/rsync         
tcp        0      0 :::5222            :::*                 LISTEN      2598/rsync   

你可能感兴趣的:(云计算学习历程,rsync,rysnc,云计算,备份服务器)