rsync复制软件应用与实践

[rrsync命令语法]https://download.samba.org/pub/rsync/rsync.html

1、什么是rsync?

rsync,Rsync英语全称为Remote synchronization,是开源、高速的、可实现本地以及远程,全量以及增量的数据复制(拷贝)工具。

2、全量复制和增量复制的区别?

全量复制:
[root@nfs01 ~]# cp -a /etc/ /opt/
[root@nfs01 ~]# \cp -a /etc/ /opt
[root@nfs01 ~]# touch /etc/oldboy.txt
[root@nfs01 ~]# \cp -a /etc/ /opt/
增量复制:
只复制oldboy.txt(只复制另添加的文件)

3、rsync的作用?(适用于什么地方)

工作中需要定时/实时数据备份。本地不同的机器目录、不同的机房之间的数据备份。这些都可以用rsync完成。

4、rsync的功能特性

增量复制的原理

使用quick check算法,只对增量的部分复制,根据大小属性的变化进行复制。
2.x比对差异后复制,3.x一边比对一边复制。

6、rsync三种工作模式介绍

①本地(local)

rsync就是一个命令
命令操作:
rsync命令
a.把数据从一个地方复制到另一个的的地方(仅在一台机器增量),相当于cp。
b.通过加参数实现删除的功能,相当于rm命令。
c.查看属性信息功能,相当于1s。

②远程Shell模式

借助类似ssh隧道传输数据,适合不同机器之间的复制。
异地考本,相当于srcp
拉门,推门
pull,拉:从远端拉取到本地。
rsync [OPTION ...] [USER @] HOST : SRC ... [DEST]

[root@nfs01 ~]# rsync -avz root@172.16.1.41:/root/1.txt /opt/
root@172.16.1.41's password:
receiving incremental file list
1.txtsent 43 bytes  received 106 bytes  33.11 bytes/sec
total size is 24  speedup is 0.16
[root@nfs01 ~]# cd /opt/
[root@nfs01 /opt]# ls
1.txt

rsync命令 参数选项 [认证用户]@[主机地址]:[源地址]..[目的地址]
push,推:从本地推到远端。
rsync [OPTION ...] SRC ... [USER @] HOST : DEST

[root@nfs01 ~]# rsync -avz /etc/hosts root@172.16.1.41:/opt/
The authenticity of host '172.16.1.41 (172.16.1.41)' can't be established.
ECDSAkeyfingerprintisSHA256:pSmZZNpT7WLg8LxBk9gFez5RNq3gaxYgpo/Kd9sv1Do.ECDSAkeyfingerprintisMD5:ce:42:93:22:32:b3:9c:4a:71:81:b9:f6:50:e5:bb:6b.Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.1.41' (ECDSA) to the list of known hosts.
root@172.16.1.41's password:
sending incremental file list
hostssent 218 bytes  received 35 bytes  38.92 bytes/sec
total size is 332  speedup is 1.31
[root@backup /opt]# ls   <==检查
hosts

推拉:
a.参照物,执行命令的机器
b.root@172.16.1.41 使用的用户和主机,就用主机和用户密码。

重点:适合rsync

null和null/区别,null是目录和目录下的内容,null/只是目录下的内容,不含本身。

③rsync守护进程模式

首先要搭建rsync服务器(要有守护进程),然后才能在客户端实现推拉数据

7、rsync命令的参数

--password-file=file 从flie中得到密码。
企业常用参数组合:-avz或者-vzrtopg

8、rsync守护进程模式部署

(1)注:以下操作均为backup机器

①查看rsync版本

[root@backup ~]# rsync --version <==查看rsync版本
rsync  version 3.1.2  protocol version 31
Copyright (C) 1996-2015 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, preallocrsync 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.

②配置配置文件

[root@backup ~]# cp /etc/rsyncd.conf{,.ori}
[root@backup ~]# > /etc/rsyncd.conf
[root@backup ~]# cat >/etc/rsyncd.conf<<EOF
> #rsync_config_______________start
> #created by oldboy
> #site: http://www.oldboyedu.com
> uid =rsync                       #--->管理备份目录的用户
> gid =rsync                       #--->管理备份目录的用户组
> use chroot = no                  #--->安全功能,数据是否锁定到备份目录
> max connections = 200            #--->并发连接,同时多少客户端访问
> timeout =600                     #--->超时时间。
> 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     #--->存放密码的文件:格式:用户名:密码权限必须600
> [backup]                               #--->[模块名]远程访问使用模块名访问
> comment = welcome to oldboyedu backup! #--->说明注释
> path = /backup/                        #--->服务端用户备份的目录,用户和组,rsync.rsync
> EOF
[root@backup ~]# useradd rsync
[root@backup ~]# id rsync
uid=1004(rsync) gid=1004(rsync) 组=1004(rsync)
[root@backup ~]# mkdir -p /backup
[root@backup ~]# chown rsync.rsync /backup/

man rsync 查命令的参数
man rsyncd.conf 查配置参数
[rrsync命令语法]https://download.samba.org/pub/rsync/rsync.html
③启动和检查

rsync --daemon(CentOS6 以前)
systemctl start rsyncd
systemctl enable rsyncd
systemctl status rsyncd

④配置密码文件

[root@backup ~]# echo "rsync_backup:oldboy" > /etc/rsync.password
[root@backup ~]# chmod 600 /etc/rsync.password
[root@backup ~]# cat /etc/rsync.password
rsync_backup:oldboy
[root@backup ~]# ll /etc/rsync.password
-rw------- 1 root root 20 4月  15 11:52 /etc/rsync.password

rsync服务端配置完成

(2)注:以下操作都是在客户端服务器

两个方法二选一
方法1:认证密码文件

[root@nfs01 ~]# echo "oldboy" > /etc/rsync.password
[root@nfs01 ~]# chmod 600 /etc/rsync.password
[root@nfs01 ~]# ll /etc/rsync.password
-rw------- 1 root root 7 4月  15 11:55 /etc/rsync.password

方法2:

[root@nfs01 ~]# echo 'export RSYNC_PASSWORD=oldboy' >>/etc/bashrc
[root@nfs01 ~]# tail -1 /etc/bashrc
export RSYNC_PASSWORD=oldboy
[root@nfs01 ~]# . /etc/bashrc
[root@nfs01 ~]# echo $RSYNC_PASSWORD
oldboy

rsync客户端nfs01配置完成

(3)守护进程模式,客户端rsync的命令和语法:

配置服务器守护进程,实现数据传输:
1.服务器端守护进程。2.客户端执行命令。
拉门,推门
pull,拉:从远端拉取到本地。
语法1:
rsync [OPTION ...] [USER @] HOST :: SRC ... [DEST]
rsync命令 参数选项 [虚拟用户]@[主机地址]::[模块名]..[本地路径]
语法2:
rsync [OPTION ...] rsync:// [USER @] HOST :: SRC ... [DEST]
rsync命令 参数选项 rsync:// [虚拟用户]@[主机地址]/[模块名]..[本地路径
push,推:从本地推到远端。
语法1:
rsync [OPTION ...] [DEST] [USER @] HOST :: SRC ...
rsync命令 参数选项 [本机路径] [虚拟用户]@[主机地址]::[模块名]...
语法2:
rsync [OPTION ...] [DEST] rsync:// [USER @] HOST :: SRC ...
rsync命令 参数选项 [本地路径] rsync:// [虚拟用户]@[主机地址]/[模块名]..

(4)测试结果

错误1:

[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
@ERROR: invalid uid rsync
rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]

解答:

[root@backup ~]# useradd rsync
[root@backup ~]# id rsync
uid=1001(rsync) gid=1001(rsync) 组=1001(rsync)
[root@backup ~]# mkdir -p /backup
[root@backup ~]# chown -R rsync.rsync /backup/
[root@backup ~]# ls -ld /backup/
drwxr-xr-x 2 rsync rsync 6 4月  15 12:12 /backup/

错误2:

[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
sending incremental file list
hosts
rsync: chgrp ".hosts.YDuTjO" (in backup) failed: Operation not permitted (1)sent 223 bytes  received 124 bytes  694.00 bytes/sec
total size is 332  speedup is 0.96
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]

解答:增加如下参数到/etc/rsyncd.conf

fake  super  = yes #不用root用户也可以存储文件的完整属性。
This allows the full attributes of a file to  be  stored  without having to have the daemon actually running as root.
[root@backup ~]# grep fake /etc/rsyncd.conf
fake super = yes

改完配置,要重启服务:

[root@backup ~]# systemctl restart rsyncd

在测试:成功

[root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
sending incremental file list
hostssent 89 bytes  received 49 bytes  276.00 bytes/sec
total size is 332  speedup is 2.41rsync -avz /etc rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

服务端检查:

[root@backup ~]# ls /backup/
hosts
[root@backup ~]# ls /backup/
etc  hosts

如果客户端按照环境变量的方式配置,则可以忽略--password-file=/etc/rsync.password参数。

[root@nfs01 ~]# rsync -avz /etc rsync_backup@172.16.1.41::backup
sending incremental file listsent 52,071 bytes  received 644 bytes  105,430.00 bytes/sec
total size is 31,244,350  speedup is 592.70

测试增量

[root@nfs01 ~]# touch /etc/oldboy.txt
[root@nfs01 ~]# rsync -avz /etc rsync_backup@172.16.1.41::backup
sending incremental file list
etc/oldboy.txtsent 52,098 bytes  received 655 bytes  105,506.00 bytes/sec
total size is 31,244,350  speedup is 592.28

转载于:https://www.cnblogs.com/zqcyunwei/p/10719128.html

Rsync服务及搭建备份服务器相关推荐

  1. 通过Shell脚本快速搭建高效Rsync服务

    在我们的日常运维中,会经常遇到搭建rsync服务的需求,如:网站文件的同步(镜像或备份),patch的更新,各种异机备份等容灾备份等等.如 果把rsync服务的搭建写成脚本,那么就可以在执行脚本之后, ...

  2. Centos RSYNC服务搭建

    前言: 总结下RSYNC服务搭建 介绍: Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件. 特点: 能更新整个目录和树和文件系统 ...

  3. centos搭建rsync服务!

    为什么80%的码农都做不了架构师?>>>    rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输.rsync中一项与其他大部 ...

  4. rsync 服务快速部署手册

    一.rsync服务端安装 1.查看rsync安装包 # rpm -qa rsync rsync-3.0.6-12.el6.x86_64 2.安装rsync 系统默认都会安装rsync软件包的,如果查看 ...

  5. Centos7下SVN服务端搭建以及hook应用

    介绍 SVN是subversion的缩写,是一个开放源代码的版本控制系统,特点是集中式管理,即一个远程主干分支,多个本地分支.同一时刻只能有一个用户commit,适用于中小型项目,方便快捷. 一.SV ...

  6. Rsync 服务部署与参数详解

    Rsync 简介 rsync 是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作系统平台. 传统的 ...

  7. 使用 rsync 服务(二)

    内容提要 掌握两种运行 rsync 服务的配置方法 熟悉配置文件 rsyncd.conf 的常用参数 掌握在生产服务器上同时运行 rsync 服务的配置方法 掌握在备份服务器上运行 rsync 服务的 ...

  8. rsync服务及配置

    rsync 1. rsync简介 rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. 2. r ...

  9. rsync服务+sersync服务

    rsync服务+sersync服务 1.rsync服务介绍 什么是rsync? rsync=Remote Sync远程同步,它是比较高效的,一定要结合shell一并结合 rsync的官方网站:http ...

  10. windows 下frp服务启动_内网穿透frp linux服务端搭建和windows客户端使用

    一.Linux 服务端搭建 1.下载安装 wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-in ...

最新文章

  1. AI一分钟 | 蔚来赴美IPO,开盘跌破发行价;TensorFlow开源新库TFDV
  2. https原理:证书传递、验证和数据加密、解密过程解析 (转)
  3. Atitit hsv转grb  应该优先使用hsv颜色原则 方便人类
  4. tp框架实现ajax
  5. mongodb分片配置
  6. Power Designer的使用
  7. 深入学习consul
  8. mysql无法找到事件id100描述_解决“事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法找到”...
  9. 飞鸽传书10048错误的解决
  10. 神经网络之文本情感分析(二)
  11. Deepgreen DB 是什么(含Deepgreen和Greenplum下载地址)
  12. 最新PHP自动化发卡网源码
  13. 四.川.木.里-2020-03-28火灾遥感数据下载汇总
  14. 微信公众平台开发进阶篇资源集锦
  15. 机器学习和深度学习概念入门
  16. Ubuntu16.04安装百度网盘亲测可用
  17. 申论高分作者心得分享——站在政府的角度写申论
  18. 电力行业适合学习的开源软件
  19. Java 输入判断5,7倍数
  20. APS 与 MES 的区别是什么?

热门文章

  1. 通过rsync备份静态文件
  2. 怎么checkout一个gerrit提交,完事之后再push
  3. 为什要学习烹饪?学习烹饪迫在眉睫
  4. 你必须知道iPad的10件事
  5. 如何看待绿色数据中心
  6. 《SQL Server 2005开发技术大全》分享一本书
  7. hashmap-put方法过程
  8. BZOJ5093 图的价值(NTT+斯特林数)
  9. MFC鼠标单击截获鼠标双击事件,且无法记录单击的数据的解决方案
  10. Android 6.0 权限申请辅助 ----PermissionsHelper