我的编程空间,编程开发者的网络收藏夹
学习永远不晚

rsync使用的示例分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

rsync使用的示例分析

这篇文章给大家介绍rsync使用的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

要想同步某一位置文件和目录到另一个位置去可以使用Rsync,备份的位置可以在本地服务器或远程服务器。

rsync特征

速度:第一次的rsync同步源的整个内容目录到目标位置。之后,rsync只传递改变的块或字节到目标位置,使传输非常快。
安全:rsync在传输中允许使用ssh协议加密数据。
更少的带宽:rsync分别在发送和接收端对数据进行压缩和解压缩。所以在使用rsync传输数据时使用的带宽总是比使用其他文件传输协议来的少。
特权:不需要特殊权限来安装和执行rsync

rsync语法

$ rsync options source destination

source和destination可以是本地或远程。在远程的情况下,需要指定登录名、远程服务器的名称和位置。

rsync使用示例

1. 在本地服务器上同步两个目录

用rsync – zvr在本地服务器上同步两个目录

$ rsync -zvr /var/opt/installation/inventory/ /root/tempbuilding file list ... donesva.xmlsvB.xml.sent 26385 bytes  received 1098 bytes  54966.00 bytes/sectotal size is 44867  speedup is 1.63

在上面rsync例子中:
• –z:允许压缩
• –v:冗长
• –r:递归
注:Rsync不会同步源文件或目录的时间戳

$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml-r--r--r-- 1 bin  bin  949 Jun 18  2009 /var/opt/installation/inventory/sva.xml-r--r--r-- 1 root bin  949 Sep  2  2009 /root/temp/sva.xml

2. 用rsync –a同步时间戳

rsync的-a选项是archive的意思,加了之后有以下作用:
• 递归模式
• 同步软链接
• 同步权限
• 同步时间戳
• 同步属主和属组
现在,我们执行与例1一样的命令,不同的是使用-a选项。

$ rsync -azv /var/opt/installation/inventory/ /root/temp/building file list ... done./sva.xmlsvB.xml.sent 26499 bytes  received 1104 bytes  55206.00 bytes/sectotal size is 44867  speedup is 1.63

我们可以看到,rsync将源目录下文件的时间戳也同步过来了。

$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml-r--r--r-- 1 root  bin  949 Jun 18  2009 /var/opt/installation/inventory/sva.xml-r--r--r-- 1 root  bin  949 Jun 18  2009 /root/temp/sva.xml

3. 只同步一个文件

指定文件名称,只同步一个文件

$ rsync -v /var/lib/rpm/Pubkeys /root/temp/Pubkeyssent 42 bytes  received 12380 bytes  3549.14 bytes/sectotal size is 12288  speedup is 0.99

4. 将本地文件同步到远程服务器

当同步到远程服务器时,我们需要指定用户名、远程服务器的IP地址和目标路径。格式为:username@remote_server_ip:path

$ rsync -avz /root/temp/ linuxprobe@192.168.200.10:/home/linuxprobe/temp/Password:building file list ... done./rpm/rpm/Basenamesrpm/Conflictnamesent 15810261 bytes  received 412 bytes  2432411.23 bytes/sectotal size is 45305958  speedup is 2.87

5. 将远程文件同步到本地服务器

$ rsync -avz linuxprobe@192.168.200.10:/var/lib/rpm /root/tempPassword:receiving file list ... donerpm/rpm/Basenames.sent 406 bytes  received 15810230 bytes  2432405.54 bytes/sectotal size is 45305958  speedup is 2.87

6. 指定使用某一shell同步

远程同步时,Rsync可以指定使用某一shell进行安全传输。如:使用rsync –e ssh选择ssh进行安全连接。

$ rsync -avz -e ssh linuxprobe@192.168.200.10:/var/lib/rpm /root/tempPassword:receiving file list ... donerpm/rpm/Basenamessent 406 bytes  received 15810230 bytes  2432405.54 bytes/sectotal size is 45305958  speedup is 2.87

7. 不覆盖目标位置已改变的文件

如果目标位置的文件已被修改,而我们不希望旧文件覆盖它时,可以使用-u选项。下面例子中,目标位置的文件Basenames已经被修改,使用-u 选项是它不被旧文件覆盖。

$ ls -l /root/temp/Basenamestotal 39088-rwxr-xr-x 1 root root        4096 Sep  2 11:35 Basenames$ rsync -avzu linuxprobe@192.168.200.10:/var/lib/rpm /root/tempPassword:receiving file list ... donerpm/sent 122 bytes  received 505 bytes  114.00 bytes/sectotal size is 45305958  speedup is 72258.31$ ls -lrttotal 39088-rwxr-xr-x 1 root root        4096 Sep  2 11:35 Basenames

8. 只同步目录树结构(不包括文件)

使用rsync – d选项只将目录树从源位置同步至目标位置。下面的示例中,以递归方式只同步目录树而不同步目录中的文件。

$ rsync -v -d linuxprobe@192.168.200.10:/var/lib/ .Password:receiving file list ... donelogrotate.statusCAM/YaST2/acpi/sent 240 bytes  received 1830 bytes  318.46 bytes/sectotal size is 956  speedup is 0.46

9. 查看rsync进度

使用rsync –progress选项可以查看rsync进度,如多少文件已经被拷贝,完成率是多少等

$ rsync -avz --progress linuxprobe@192.168.200.10:/var/lib/rpm/ /root/temp/Password:receiving file list ...19 files to consider./Basenames     5357568 100%   14.98MB/s    0:00:00 (xfer#1, to-check=17/19)Conflictname       12288 100%   35.09kB/s    0:00:00 (xfer#2, to-check=16/19)...sent 406 bytes  received 15810211 bytes  2108082.27 bytes/sectotal size is 45305958  speedup is 2.87

10. 删除目标位置创建的文件

若我们希望rsync时删除在源位置不存在而在目标位置存在的文件,可以使用-delete选项。
此例中,我们在目标位置创建了一个新文件名为new-file.txt.,在同步过程中,-delete选项删除了new-file.txt文件

# Source and target are in sync. Now creating new file at the target.$ > new-file.txt$ rsync -avz --delete linuxprobe@192.168.200.10:/var/lib/rpm/ .Password:receiving file list ... donedeleting new-file.txt./sent 26 bytes  received 390 bytes  48.94 bytes/sectotal size is 45305958  speedup is 108908.55

11. 在目标位置不创建新文件

使用-existing选项使得在同步时只同步目标位置存在的文件,而不创建新文件。

#在源位置创建新文件new-file.txt[/var/lib/rpm ]$ > new-file.txt#同步目录$ rsync -avz --existing root@192.168.1.2:/var/lib/rpm/ .root@192.168.1.2's password:receiving file list ... done./sent 26 bytes  received 419 bytes  46.84 bytes/sectotal size is 88551424  speedup is 198991.96

12.查看源和目标的不同文件或目录

源位置:

$ ls -l /var/lib/rpm-rw-r--r-- 1 root root  5357568 2010-06-24 08:57 Basenames-rw-r--r-- 1 root root    12288 2008-05-28 22:03 Conflictname-rw-r--r-- 1 root root  1179648 2010-06-24 08:57 Dirnames

目标位置:

$ ls -l /root/temp-rw-r--r-- 1 root root    12288 May 28  2008 Conflictname-rw-r--r-- 1 bin  bin   1179648 Jun 24 05:27 Dirnames-rw-r--r-- 1 root root        0 Sep  3 06:39 Basenames

源和目标之间有两个不同之处:1. 文件Dirnames属主和属组不同 2. 文件Basenames的大小不同
使用-i选项来显示不同之处,如下所示

$ rsync -avzi linuxprobe@192.168.200.10:/var/lib/rpm/ /root/temp/Password:receiving file list ... done>f.st.... Basenames.f....og. Dirnamessent 48 bytes  received 2182544 bytes  291012.27 bytes/sectotal size is 45305958  speedup is 20.76In the output it displays some 9 letters in front of the file name or directory name indicating the changes.

可以看到,在文件名或目录名前有9个字符来代表不同之处。此例中,Basenames和Dirnames前的字符代表含义如下:

> 代表文件已被传输到本地主机。f:代表这是个文件s:代表文件大小发生变化t:代表时间戳发生变化o:属主发生变化g:属组发生变化

13. 在传输时指定包括或排除某些文件
只传输’P’开头的文件或目录(使用rsync include),不传输其他任何文件(使用rsync exclude)

$ rsync -avz --include 'P*' --exclude '*' linuxprobe@192.168.200.10:/var/lib/rpm/ /root/temp/Password:receiving file list ... done./PackagesProvidenameProvideversionPubkeyssent 129 bytes  received 10286798 bytes  2285983.78 bytes/sectotal size is 32768000  speedup is 3.19

14. 不传输大文件

使用rsync –max-size选项后,rsync将不传输大于指定大小的文件

$ rsync -avz --max-size='100K' linuxprobe@192.168.200.10:/var/lib/rpm/ /root/temp/Password:receiving file list ... done./ConflictnameGroupInstalltidNameSha1headerSigmd5Triggernamesent 252 bytes  received 123081 bytes  18974.31 bytes/sectotal size is 45305958  speedup is 367.35

15. 传输整个文件

rsync的主要特征之一是它只传输改变的块到目标位置,而不是传输整个文件。如果网络带宽对你不是问题(CPU有),您可以使用-w选项来传输整个文件。它会加速rsync过程,因为它不用在源和目标位置执行校验和。#  rsync -avzW  linuxprobe@192.168.200.10:/var/lib/rpm/ /root/tempPassword:receiving file list ... done./BasenamesConflictnameDirnamesFilemd5sGroupInstalltidNamesent 406 bytes  received 15810211 bytes  2874657.64 bytes/sectotal size is 45305958  speedup is 2.87

关于rsync使用的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

rsync使用的示例分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

rsync使用的示例分析

这篇文章给大家介绍rsync使用的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。要想同步某一位置文件和目录到另一个位置去可以使用Rsync,备份的位置可以在本地服务器或远程服务器。rsync特征速度:第一次的r
2023-06-28

Linux中Rsync服务的示例分析

小编给大家分享一下Linux中Rsync服务的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Rsync是Linux系统中的数据镜像备份工具,通过rsync
2023-06-27

使用Vue的示例分析

这篇文章将为大家详细讲解有关使用Vue的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Vue的优点Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优
2023-06-15

awk使用示例分析

这篇文章主要讲解了“awk使用示例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“awk使用示例分析”吧!awk是一个强大的文本分析工具。awk其名称得自于它的创始人 Alfred Aho
2023-06-04

Node.js使用示例分析

本篇内容介绍了“Node.js使用示例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Node.js 的非阻塞 I/OI/O 即 Inpu
2023-06-17

springboot使用nacos的示例分析

springboot使用nacos的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、pom.xml:
2023-06-22

使用v-model的示例分析

小编给大家分享一下使用v-model的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Vue v-model是一个指令,它提供了input和form之间或两
2023-06-14

Linux sed使用的示例分析

这篇文章将为大家详细讲解有关Linux sed使用的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。sed 一种流向编辑器 stream editor,是Linux中三大文件处理工具(
2023-06-28

C++BoostAny示例分析使用

Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称
2022-11-13

flex使用方法的示例分析

这篇文章主要介绍flex使用方法的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Flex是如何工作的该部分文档的内容是为用户提供关于Adobe?Flex工作机制的一个快速综述。通过本章节的学习,你可以创建你的
2023-06-17

storm-kafka-client使用的示例分析

storm-kafka-client使用的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。package hgs.core.sk;import java.util.Map
2023-06-02

使用批处理的示例分析

这篇文章将为大家详细讲解有关使用批处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。批处理程序删除自身.bat echo 有时候我们需要批处理程序在执行完成之后删除自身,可以用 del %0 例
2023-06-08

使用flex布局的示例分析

这篇文章主要介绍了使用flex布局的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Flex布局Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为
2023-06-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录