iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >rsync具体使用方法是什么
  • 863
分享到

rsync具体使用方法是什么

2023-06-28 03:06:17 863人浏览 泡泡鱼
摘要

这期内容当中小编将会给大家带来有关rsync具体使用方法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。rsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inoti

这期内容当中小编将会给大家带来有关rsync具体使用方法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

rsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时同步,下面为大家分享一下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具体使用方法是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: rsync具体使用方法是什么

本文链接: https://www.lsjlt.com/news/316099.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • rsync具体使用方法是什么
    这期内容当中小编将会给大家带来有关rsync具体使用方法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。rsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inoti...
    99+
    2023-06-28
  • Linux grep命令具体使用方法是什么
    Linux grep命令具体使用方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Linux grep 命令用于查找文件里符合条件的字符串,grep 指令用于查找内容包含...
    99+
    2023-06-28
  • Linux系统kill具体使用方法是什么
    本篇文章为大家展示了Linux系统kill具体使用方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。概念kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SI...
    99+
    2023-06-28
  • Linux bash wait命令具体使用方法是什么
    Linux bash wait命令具体使用方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。wait命令可以使当前shell进程挂起,等待所指定的由当前shell产生的子...
    99+
    2023-06-28
  • JNDI具体用法是什么
    这期内容当中小编将会给大家带来有关JNDI具体用法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。JNDI全称(Java Naming and Directory Interface),是java命名...
    99+
    2023-06-22
  • Linux系统top命令的具体使用方法是什么
    这篇文章跟大家分析一下“Linux系统top命令的具体使用方法是什么”。内容详细易懂,对“Linux系统top命令的具体使用方法是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习...
    99+
    2023-06-28
  • Linux系统file命令的具体使用方法是什么
    Linux系统file命令的具体使用方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。\1. Windows以不同的扩展名来区分不同的文件,例如:.exe...
    99+
    2023-06-28
  • Linux系统sort命令的具体使用方法是什么
    本篇文章为大家展示了Linux系统sort命令的具体使用方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在Linux系统中 sort 命令可以对文件进行各种排序,所以sort 命令可以当作个...
    99+
    2023-06-28
  • Linux系统at命令的具体使用方法是什么
    今天给大家介绍一下Linux系统at命令的具体使用方法是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。at简介at是一个计划任务,可以在特定的时间执行某项...
    99+
    2023-06-28
  • Linux系统core文件的具体使用方法是什么
    Linux系统core文件的具体使用方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存...
    99+
    2023-06-28
  • Linux系统命令pidof的具体使用方法是什么
    本篇文章给大家分享的是有关Linux系统命令pidof的具体使用方法是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如何使用pidof命令对于基于Red Hat和Debia...
    99+
    2023-06-28
  • Linux内核gpio的具体使用用法是什么
    这篇文章主要为大家分析了Linux内核gpio的具体使用用法是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux内核gpio的具体使用用法是什么”...
    99+
    2023-06-28
  • 使用SSH远程运行Linux命令具体方法是什么
    使用SSH远程运行Linux命令具体方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来...
    99+
    2023-06-28
  • Linux系统中fork函数的具体使用方法是什么
    本篇文章为大家展示了Linux系统中fork函数的具体使用方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、fork 入门知识一个进程,包括代码、数据和分配给进程的资源。fork()函数通...
    99+
    2023-06-28
  • Pythonlistsort方法的具体使用
    目录描述 语法 使用示例 1. 所有参数都省略 2. 指定key参数 3. 指定reverse参数 注意事项 1. sort函数会改变原列表顺序 2. 列表元素类型不一致 3. Py...
    99+
    2024-04-02
  • numpy.insert()的具体使用方法
    目录1. 参数说明2. 示例2.1. 插入一列,值为标量2.2. 插入一列,值为一维矩阵2.3. 插入多列,值为标量2.4. 输入为一维向量2.5. 输入为矩阵numpy.inser...
    99+
    2023-02-09
    numpy.insert()使用
  • Linux查看用户组的具体方法是什么
    本篇文章为大家展示了Linux查看用户组的具体方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在 Linux 系统中用户组起着重要作用。用户组提供了一种简单方法供一组用户互相共享文件。用户组...
    99+
    2023-06-28
  • Python3re.search()方法的具体使用
    re.search()方法扫描整个字符串,并返回第一个成功的匹配。如果匹配失败,则返回None。 与re.match()方法不同,re.match()方法要求必须从字符串的开头进行匹...
    99+
    2024-04-02
  • Linux解压jar包具体方法是什么
    这篇文章将为大家详细讲解有关Linux解压jar包具体方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Linux如何解压jar包?JAR 文件就是 Java Archive File...
    99+
    2023-06-28
  • Nginx日志配置具体方法是什么
    小编今天带大家了解Nginx日志配置具体方法是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Nginx日志配置具体方法是什么”的...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作