前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux 使用 rsync 文件远程同步操作

Linux 使用 rsync 文件远程同步操作

原创
作者头像
兔云小新LM
修改于 2020-12-14 03:07:56
修改于 2020-12-14 03:07:56
2.4K0
举报

学习背景

1.最近公司的项目在使用jenkins做自动化构建,因为jenkins在构建时是比较耗性能的,便单独使用了一台服务器做构建服务器。但是个人觉得这样成本过高,单独拿一台服务器来构建并且该服务器配置不能太差。便想着通过在本地搭建一台jenkins服务,做构建使用。但是这样有一个问题,无法使用webhooks,便选择的轮训构建。<font color="blue">其实可以使用内网穿透的方式解决的,该实例还在学习中,也实验成功了,由于使用还不是特别熟悉,后期单独写一篇文章分享。</font>

2.在jenkins构架时,我们需要配置一个work目录,如<kbd>/root/jenkins/workspace/daodao_system</kbd>这样的目录,但是我们需要使用nginx配置项目目录,肯定是不可能配置到这个jenkins的工作目录的。通过了解,Linux的同步命令rsync命令可以实现文件同步。这里指的文件同步就是将jenkins工作目录下面的文件同步到我们指定的目录(如我们nginx配置的项目目录)。并且rsync同步命令具备,高效、带宽消耗低、支持复制链接、设备、属主、属组、权限等。

命令介绍

rsync是远程(或本地)复制和同步文件最常用的命令。 借助rsync命令,你可以跨目录,跨磁盘和跨网络远程与本地数据进行复制和同步。举例来说:在两台Linux主机之间进行数据备份和镜像。本文介绍在Linux主机上进行远程和本地传输文件的常见用法,不需要root账户也可以允许rsync。

rsync命令特点

1.高效地复制同步数据到对端,或者对端到本地。

2.支持复制链接、设备、属主、属组、权限。

3.比scp(Secure Copy)更快。rsync使用远程更新协议( remote-update protocol ),这允许仅仅传输两组文件之间的差异。对于首次传输,它将文件或目录的全部内容从源复制到目标,但是从下次起,它仅将变化部分复制到目标。

4.rsync消耗较少的带宽,因为它使用压缩和解压缩方法,同时发送和接收数据两端。HTTP压缩技术。

命令的安装

本演示文章的环境是centos7.0的版本,可以直接使用。如需安装可以参考该文章

命令语法格式

代码语言:txt
AI代码解释
复制
rsync [options] 资源源目录 目标目录

-v : 详细模式输出

-r : 递归拷贝数据,但是传输数据时不保留时间戳和权限

-a : 归档模式, 归档模式总是递归拷贝,而且保留符号链接、权限、属主、属组时间戳

-z : 压缩传输

-h : human-readable

--progress: 显示传输过程

--exclude=PATTERN 指定排除传输的文件模式

--include=PATTERN 指定需要传输的文件模式

--delete 同步时,删除那些DST中有,而SRC没有的文件

--max-size:限定传输文件大小的上限

--dry-run:显示那些文件将被传输,并不会实际传输

--bwlimit:限制传输带宽

-W:拷贝文件,不进行增量检测

使用案例

本地同步某个文件

代码语言:txt
AI代码解释
复制
[root@iZ7eetumtw8c9jZ jenkins]# rsync -zvrh remoting.jar /root/work/
sending incremental file list
created directory /root/work
remoting.jar

sent 796.37K bytes  received 68 bytes  1.59M bytes/sec
total size is 872.44K  speedup is 1.10

同步结果查看

代码语言:txt
AI代码解释
复制
[root@iZ7eetumtw8c9jZ jenkins]# ll /root/work/
total 852
-rw-r--r-- 1 root root 872440 Nov  3 20:03 remoting.jar

同步某个目录

代码语言:txt
AI代码解释
复制
[root@iZ7eetumtw8c9jZ jenkins]# rsync -zvrh workspace/ /root/work/
sending incremental file list 
公司服务器测试/tests/Unit/
公司服务器测试/tests/Unit/ExampleTest.php
公司服务器测试@tmp/

sent 18.82M bytes  received 7.30K bytes  7.53M bytes/sec
total size is 29.87M  speedup is 1.59

同步结果查看

代码语言:txt
AI代码解释
复制
[root@iZ7eetumtw8c9jZ jenkins]# ll /root/work/
total 868
-rw-r--r--  1 root root 872440 Nov  3 20:03 remoting.jar
drwxr-xr-x 11 root root   4096 Nov  3 20:05 公司服务器测试
drwxr-xr-x  2 root root   4096 Nov  3 20:04 公司服务器测试@tmp       

同步远程目录

代码语言:txt
AI代码解释
复制
[root@tecmint]$ rsync -avz rpmpkgs/ root@192.168.0.101:/home/
root@192.168.0.101's password:
sending incremental file list
./
httpd-2.2.3-82.el5.centos.i386.rpm
mod_ssl-2.2.3-82.el5.centos.i386.rpm
nagios-3.5.0.tar.gz
nagios-plugins-1.4.16.tar.gz
sent 4993369 bytes  received 91 bytes  399476.80 bytes/sec
total size is 4991313  speedup is 1.00

总结

使用该命令,最吸引我的地方就是可以实现增量同步,而不是全量同步。这样减少带宽的消耗,也加快了传输的速度。至于该命令同步的原理,可以参考该文章

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
rsync同步时,删除目标目录比源目录多余文件的方法(--delete)
在日常运维工作中,我们经常用到rsync这个同步神器。有时在同步两个目录时,会要求删除目标目录中比源目录多出的文件,这种情况下,就可用到rsync的--delete参数来实现这个需求了。 实例说明: 在服务器A上同步/tmp/work目录到远程服务器B的/tmp/work目录下(A和B已经提前做好ssh无密码信任跳转关系了),同时删除B服务器/tmp/work目录下相比于A服务器/tmp/work中多余的文件 最近在处理策划资源文件的时候需要将目录A的文件全部同步到目录B的文件,并且把目录B内多余的文件全部
洗尽了浮华
2018/01/22
6.2K0
Rsync服务简介部署使用及原理详解
Rsync简介 什么是rsync? Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。Rstync软件适用于unix/linux/windows等多种操作
iginkgo18
2020/09/27
2.4K0
linux的rsync工具的常用选项及ssh同步介绍
rsync是数据备份工具(字面意思可以理解为远程同步),不仅可以远程同步数据,而且可以本地同步数据(类似与cp),但不同于cp或scp的一点是,它不会覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖。
菲宇
2022/12/21
8950
linux中rsync命令的10个实际示例
rsync 命令的一些优点和特点 它可以高效地将文件复制到远程系统或从远程系统同步文件。 支持复制链接、设备、所有者、组和权限。 它比scp 更快因为rsync使用远程更新协议,该协议允许仅传输两组文件之间的差异。第一次,它将文件或目录的全部内容从源复制到目标,但从下一次开始,它只将更改的块和字节复制到目标。 rsync使用压缩和解压缩方法,同时在两端发送和接收数据,因此占用的带宽利用率较低。 rsync 命令的基本语法 # rsync options source destination 与 rsync
入门笔记
2022/06/02
9850
Linux | Rsync 命令:16 个实际示例(上)
Rsync(远程同步)是Linux/Unix系统中用于远程和本地复制及同步文件和目录的常用工具。
数据科学工厂
2024/12/30
5630
Linux | Rsync 命令:16 个实际示例(上)
Linux基础(day37)
-比如,拷贝到对方机器root用户下 - 然后在root后加IP,并用 : 冒号分开,再跟文件的根路径
运维小白
2022/01/06
3430
Linux | Rsync 命令:16 个实际示例(下)
Rsync(远程同步)是Linux/Unix系统中用于远程和本地复制及同步文件和目录的常用工具。
数据科学工厂
2024/12/30
2440
Linux | Rsync 命令:16 个实际示例(下)
rsync 守护进程及实时同步
目录 rsync 守护进程及实时同步 rsync简介 rsync特性 rsync应用场景 cp命令 scp命令 rsync的传输方式 rsync的传输模式 rsync实际使用 rsync命令 案例 rsync守护进程模式 服务端 客户端 rsync实时同步传输 rsync 守护进程及实时同步 rsync简介 rsync英文称为remote synchronizetion,从软件的名称就可以看出来,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似于ssh带的s
HammerZe
2022/03/25
1.4K0
rsync 守护进程及实时同步
Linux Rsync备份服务介绍及部署守护进程模式
rsync介绍 rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份工具 在常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输协议或者通过远程shell如RSH或者SSH提供文件。SSH模式下,rsync客户端运行程序必须同时在本地和远程机器上安装。 全量与增量 全量:将全部数据进行传输覆盖 增量:只传输差异部分的数据 rsync通过独特的“quick check”算法,实现增量数据传输 rsync的功能 类似与cp命令       
863987322
2018/01/24
2K0
Linux系统rsync数据同步服务介绍
rsync是一种开源、快速的、多功能的、可以实现全量、增量的本地或远程数据同步备份工具,它适用于多种操作系统平台
民工哥
2020/09/16
1.1K0
rsync 服务部署详解
本文介绍了如何使用Rsync进行文件同步,并基于CentOS 7服务器进行了实例演示。首先介绍了Rsync的命令行参数和配置文件选项,然后通过配置文件指定了同步目录。接着,演示了如何通过Rsync进行增量备份和排除备份目录。最后,总结了Rsync的权限配置问题和常见错误。
惨绿少年
2017/12/27
2.3K0
rsync 服务部署详解
rsync工具 原
(adsbygoogle = window.adsbygoogle || []).push({});
阿dai学长
2019/04/03
7020
rsync 工具详解
rsync工具 : rsync 工具几乎在每天的工作当中都会用到,是日常工作的必备工具之一。我们必须要对 此工具了如指掌! (1)本地–>本地备份 (2)本地–>网络备份 (3)网络备份–>本地 假设有个需求,有个A目录里面的一直不停的被写些日志或者数据,但是我们需要同步到B目录,每隔一小时就要同步一下。假如一个小时就更新了一个小文件,使用cp就会从头到尾的复制一次,这样会浪费很多资源和时间。 #rsync 就可以实验增量拷贝。 rsync格式: rsync [OPTION] … SRC DEST
老七Linux
2018/05/09
9190
rsync服务的三种模式测试[通俗易懂]
Rsync是一款开源的、快速的、多功能的、可实现全量及增量(全量备份是指全部备份,增量备份是在上一次备份的基础上只备份更新的内容)的本地货远程数据同步备份的优秀工具。Rsync软件适用于unix/linux/windows等多种操作系统平台。
全栈程序员站长
2022/11/08
2.4K0
rsync服务的三种模式测试[通俗易懂]
使用rsync 的 –delete参数删除目标目录比源目录多余的文件
最近在处理策划资源文件的时候需要将目录A的文件全部同步到目录B的文件,并且把目录B内多余的文件全部删除掉。所以,就想到了使用rsync的--delete参数来实现功能。
星哥玩云
2022/06/30
2.6K0
学习笔记0420----文件同步工具-rsync
Linux系统下有很多数据备份工具, 常用的是rsync,从字面意思理解为remote sync (远程同步). rsync不仅可以远程同步数据(类似于scp),而且可以本地同步数据(类似于cp),但不同于cp或者scp的一点是, 它不会覆盖以前的数据 (如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖。
嘻哈记
2022/01/11
8370
【linux命令讲解大全】130.rsync:快速远程数据同步工具
rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。
全栈若城
2024/03/02
6230
10.28 rsync工具介绍
-比如,拷贝到对方机器root用户下 - 然后在root后加IP,并用 : 冒号分开,再跟文件的根路径
运维小白
2022/01/06
2050
Linux服务器使用rsync+inotify实现实时同步
rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
西门呀在吹雪
2020/11/09
7.2K0
CentOS 7.2 部署Rsync服务
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/53054470
shaonbean
2019/05/26
8420
相关推荐
rsync同步时,删除目标目录比源目录多余文件的方法(--delete)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档