Rsync学习笔记01

Rsync简介

  • Rsync是一款开源的快速的、可实现全量及增量的本地或远程数据备份的多功能工具.并且在复制时可以不改变原油数据的属性信息,即可实现数据的备份迁移特性.
  • Rsync提供了大量参数来控制复制行为的各个方面,并且允许多种灵活的方式来实现文件的传输复制.以其delta-transfer算法闻名.通过减少网络数据发送数量,只发送源文件和目标文件之间的差异信息.从而实现数据的增量复制

Rsync功能

  • Rsync全称Remote synchronization,Rsync可使本地和远程两台主机之间的数据快速复制、远程备份功能,Rsync软件自带的rsync命令本身就可以实现异地主机复制数据,这个功能类似于scp命令(借助SSH服务实现远程传输数据),但又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝(通用需借助于SSH服务传输数据),此外,Rsync软件还支持以配置守护进程方式实现异机数据复制
  • 除了远程复制传输数据外,Rsync还可以在本地主机的不同分区或者目录之间全量及增量复制数据,类似于cp命令,但由于cp命令,cp命令每次都是全量拷贝,而Rsync还可以增量拷贝
  • rsync还可作为删除和查看命令被应用,在某种情况下类似于传统的mv和ls命令
  • rsync命令可实现的功能
    1. 实现本地数据同步复制(本地工作模式,相当于cp)
    2. 实现远程数据同步复制(远程Shell工作模式,相当于scp)
    3. 实现数据信息删除功能(本地工作模式,相当于rm)
    4. 实现数据信息查看功能(本地或远程工作模式,相当于ls)

Rsync软件特性

  • 支持拷贝普通文件与特殊文件,如链接文件、设备文件等
  • 支持排除指定文件或目录同步功能,相当于打包命令tar的排除功能
  • 可以做到保持源文件或目录的权限、时间、软硬链接、属主、属组等所有属性不改变
  • 可实现增量复制,即只复制发送变化的数据,因此数据传输效率很高
  • 可以使用rcp、rsh、SSH等方式来配合进行隧道加密传输文件(Rsync本身不对数据加密)
  • 可以通过socket(进程方式)传输文件和数据(服务端和客户端)
  • 支持匿名或认证(无须系统用户)进程模式传输,安全地进行数据备份及镜像

Rsync软件复制原理

  • 默认情况下,在备份复制数据时,Rsync通过其独特的quick check算法,仅复制大小或者最后修改时间发生变化的文件或目录,当然也可以根据权限、属主等属性的变化复制,需指定响应的参数,甚至实现只复制一个文件里有变化的部分内容,所以可以实现快速地备份复制数据,即采用增量复制方法对数据信息进行复制,与传统cp、scp复制工具的全量复制截然不同,增量复制数据在效率上渊源高于全量复制
  • Rsync3.x版本增量复制原理是一边比对差异,一遍对差异的数据部分进行复制

Rsync工作方式

  1. 本地(local)数据传输模式
    • Rsync的本地传输模式,类似于cp复制命令,可以实现文件、目录的移动备份等功能,所不同的是Rsync具有增量复制的功能
  2. 远程shell传输模式
    • 远程Shell数据传输模式一般是借助通道(如SSH)在两台服务器之间进行复制数据,这两台服务器是对等的,没有客户端与服务端之分,整个过程类似于scp远程复制命令,所不同的是Rsync有增量复制的功能,但缺少scp的加密复制功能
  3. 守护进程(daemon)传输模式
    • 守护进程传输模式是在客户端与服务端之间进行数据复制的,通常需要服务端部署守护进程服务,然后在客户端执行命令,实现数据的拉取和推送复制

本地数据传输模式

rsync命令 [OPTION...] SRC... [DEST]
rsync命令 参数选项 源目录或文件 目的目录或文件
# 复制
rsync file1 /tmp # 复制文件到/tmp目录
rsync -r /opt/null /tmp  # 复制目录到/tmp,需加-r参数

# 删除/清空
# 利用rsync清空文件内容
touch file1 file2
echo '111' > file1
rsync -r --delete file2 file1

mkdir -p /opt/null # 创建一个空目录
rsync -r /opt/null /tmp # 清空tmp下所有内容

# 查询
rsync /etc  # 目录信息
drwxr-xr-x          8,192 2020/04/12 03:32:45 etc
rsync /etc/hosts  # 文件信息
-rw-r--r--            394 2020/04/11 04:22:05 hosts
  • 注意在使用rsync命令对目录数据进行本地或远程复制时,目录名称后面是否加'/'产生的复制效果是不一样的.目录后面不加'/',会将/test目录及目录下面的文件内容一并复制到tmp目录中;如果目录后面加了'/',会将/test目录下的文件内容复制到tmp目录,但test目录本身没有被复制

远程shell传输模式

  1. 远程Shell数据传输模式语法

    • 远程Shell数据传输模式分为拉取和推送两种模式,拉取是指从远端服务器把数据拉取到本地服务区,推送是指把数据从本地服务器推送到远端服务器
    • (1)拉取
    rsync命令 [OPTION...] [user@]HOST:SRC DEST...
    rsync 参数选项 [用户]@[主机地址]:[源路径] 本地路径
    • (2)推送
    rsync命令 [OPTION...] SRC... [user@]HOST:DEST
    rsync 参数选项 本地路径 [用户]@[主机地址]:[目的路径]
  2. 实践

    1. 拉取
    rsync -av -e 'ssh -p 22' root@10.0.0.204:/etc/hosts /test
    # a:--archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD  
    # v:--verbose 详细模式输出
    # e:指定数据传输方式为ssh隧道加密传输,如果ssh端口默认是22,则-e 'ssh -p 22'可以省略
    
    1. 拉取
    rsync -av file1 root@10.0.0.204:/tmp
    
  • 注意:
    1. 采用远程Shell数据传输模式,每次都需要输入远程主机密码信息,无法实现免交互;因此需要配合SSH key免密码来完成数据免交互同步
    2. 该复制使用系统用户进行存在安全隐患,而使用普通用户又会导致权限不足
    3. 守护进程传输时更重要的方式
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,192评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,858评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,517评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,148评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,162评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,905评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,537评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,439评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,956评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,083评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,218评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,899评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,565评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,093评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,201评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,539评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,215评论 2 358

推荐阅读更多精彩内容