首页 > 其他分享 >rsync文件同步使用说明

rsync文件同步使用说明

时间:2024-11-08 14:56:54浏览次数:5  
标签:tmp 文件 rsync 同步 1.2 src 192.168 模块

常用参数

-a 归档模式(最常用,替代-r参数,递归传输并保持文件属性,等同于-rlptgoD)
-v 显示执行过程明细
-z 压缩模式
-n 模拟执行
-i 显示传输文件的路径
-P 显示文件传输进度
--exclude 指定排除不进行同步的文件/目录,rsync在使用排除路径的时候对于路径的解析比较特殊,它使用相对路径且是从待同步的路径开始,比如待同步目录为/tmp/a/b,则相对于b目录以b目录作为排除路径的基准,比如待同步目录为/tmp/a,则相对于a目录以a目录作为排除路径的基准。具体写法,可以使用-ni参数查看rsync命令实际执行使用的路径

传输方式

方式一:使用SSH协议
rsync默认使用SSH协议通过管道进行通信
rsync -av /tmp/src [email protected]:/tmp/dest

方式二:使用rsync协议
另外,可以通过rsync daemon,使用资源模块通过socket通信的方式传输文件(需要服务端已开启rsync daemon守护进程)
形式一:使用rsync风格双冒号::
rsync -av /tmp/src 192.168.1.2::moudle1
形式二:使用url风格rsync://
rsync -av /tmp/src rsync://192.168.1.2/moudle1
服务端编辑配置文件 /etc/rsyncd.conf

### 全局配置参数 ###
uid = root > #rsync服务的运行用户,默认是nobody
gid = root #rsync服务的运行组,默认是nobody
log file = /var/log/rsyncd.log #指定rsync的日志文件,而不把日志发送给syslog
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 *.7z *.rar #指定哪些文件不用进行压缩传输

### 局部参数资源模块配置,可以设置多个模块 ###
[moudle1] #模块ID,不可重名
path = /tmp/dest #指定模块路径,必选项,启动rsync命令前该目录必须存在,rsync请求访问模块本质就是访问该路径
read only = false #关闭模块的只读模式,可以上传写入。所有模块默认情况下为只读模式
hosts allow = 192.168.1.1 #rsync访问IP白名单模式,在服务端配置文件中写入客户端的IP地址,以允许客户端IP访问该服务端IP,未写入的其他IP拒绝连接;多个IP使用空格分隔
auth users = test1 test2 #指定连接到该模块的用户列表,多个用户用空格分隔,只有指定的用户才能连接到该模块其他用户则不可以,设置该参数后在客户端使用rsync命令时需要使用“用户名@服务端”来指定客户端使用哪个用户进行连接,此用户列表为虚拟用户而非系统用户,用户名和对应密码保存在secrts file中,若不设置该参数则默认接受所有匿名连接
secrets file = /etc/rsyncd.users #保存auth users用户列表的用户名和密码,每行包含一个username:passwd,需要设置文件权限为600

模块访问限制模块访问限制

使用模块的访问方式时,默认情况下,服务端开启rsync daemon守护进程后,客户端电脑不需要身份验证就可以直接向服务端同步文件,存在安全风险,因此需要对IP、user等做相应限制
IP访问限制
白名单模式:通过hosts allow设置白名单IP
黑名单模式:通过hosts deny设置黑名单IP
不设置IP限制表示任意IP均可连接
user访问限制
非交互式:不设置auth users,使用默认匿名形式直接访问;或者使用auth users,但在客户端执行rsync同步命令时使用--password-file参数自动调用密码文件(执行命令时不需要手动输入密码,rsync命令可以自动执行)
交互式:设置auth users,使用指定虚拟用户访问(执行命令时需要手动输入该指定用户的密码)

查询服务端守护进程已分配的资源模块列表
客户端执行命令
rysnc 192.168.1.2::
rsync rsync://192.168.1.2

关于源目录是否带斜杠/
同步的源目录不带斜杠/表示将目录整体复制,带斜杠/表示仅复制目录下的所有文件而不包括目录本身
rsync -av /tmp/src rsync://192.168.1.2/moudle1 #将src目录全部复制到远端,包含src目录本身
rsync -av /tmp/src/ rsync://192.168.1.2/moudle1 #将src目录下的所有文件复制到远端,不包含src目录本身

rsync同步示例rsync同步示例

客户端:192.168.1.1,目录/tmp/src,确认已安装rsync工具
服务端:192.168.1.2,目录/tmp/dest,确认已安装rsync工具,并确认已开启守护进程
服务编辑配置文件/etc/rsyncd.conf,编辑配置文件后不需要重启rsync服务,配置会自动生效
客户端执行同步命令
rsync -avzP /tmp/src [email protected]/tmp/dest #使用SSH协议方式同步
rsync -avzP /tmp/src rsync://192.168.1.2/moudle1 #使用daemon模块方式同步,下同
rsync -avzPin /tmp/src rsync://192.168.1.2/moudle1 #使用-in参数显示路径并测试同步执行情况
rsync -avzP /tmp/src --exclude=files/a.txt rsync://192.168.1.2/moudle1 #排除某个文件/目录
rsync -avzP /tmp/src --exclude={files/a.txt,files/b.txt} rsync://192.168.1.2/moudle1 #排除多个文件/目录
rsync -avzP /tmp/src rsync://[email protected]/moudle1 #指定使用虚拟用户test1
rsync -avzP /tmp/src --password-file=/etc/rsyncd.passwd rsync://[email protected]/moudle1 #指定使用虚拟用户test1,并设置自动读取客户端密码文件

扩展说明扩展说明

  • 默认情况下,rsync只检查文件的大小和最后修改日期是否发生变化,如果发生变化,就重新传输;如果使用-c或--checksum参数,则通过判断文件内容的校验和,决定是否重新传输
  • --delete 从目标端目录中删除源目录中不存在的文件,即保证目标目录是源目标的镜像
  • -i 表示输出源目录与目标目录之间文件差异的详细情况
  • --include 指定同步时要包括的文件,一般与--exclude结合使用
  • -v 显示rsync过程中详细信息,可以使用"-vvvv"获取更详细信息
  • --port 连接daemon时使用的端口号,默认为873端口
  • --password-file daemon模式时的密码文件,可以从中读取密码实现非交互式。这不是远程shell认证的密码,而是rsync模块认证的密码,例如--password-file=/etc/rsyncd.passwd,设置文件权限为600,密码文件中只有第一行才是传递的密码,其余所有的行都会被自动忽略。注意,这个文件存放在命令发起端电脑,执行rsync同步命令时作为参数来使用
  • daemon方式使用模块时,客户端推到服务端时,文件的属主和属组是配置文件中指定的uid和gid。但是客户端从服务端拉取的时候,文件的属主和属组是客户端正在操作rsync的用户身份,因为执行rsync程序的用户为当前用户

参考资料:
https://www.cnblogs.com/f-ck-need-u/p/7220009.html

标签:tmp,文件,rsync,同步,1.2,src,192.168,模块
From: https://www.cnblogs.com/caishuaichao/p/18535112

相关文章

  • Cadence(Allegro)的PCB文件转PADS的PCB文件
    概述:Cadence(Allegro)的PCB文件后缀名为brd,PADS的PCB文件后缀名为pcb,将Cadence(Allegro)的PCB文件转PADS的PCB文件需要经过以下步骤:1、将Cadence(Allegro)的PCB文件由brd后缀转换为alg后缀;2、将Cadence(Allegro)的alg后缀PCB文件转为AltiumDesigner的PCB文件(后缀名为pcbdoc);3、将Alt......
  • 麒麟V10、UOS系统实现在线合并多个Word文件
    不管是将多个Word文件插入到Word模板指定位置,生成一个合并文档,还是将多个Word文档插入到一个空白的Word文件中,首尾连接成一篇文档,都需要用到PageOffice提供的数据区域插入Word文档功能。在实际项目开发中,以下场景可能会用到Word多文件合并功能:起草合同 比如在一个Web项目的......
  • 基于常量值提取浅析elf文件结构
    Elf(可执行和可链接文件)是一个永远也绕不开的话题,只要我们还在使用安卓手机/linux服务器,我们就需要了解elf的一些方方面面,现在就让我们从一个常量值提取的小需求出发,逐步解析elf文件结构吧! 一、写作目的:网络上关于elf文件结构描述的文章不在少数,但能具体到二进制分析的却屈指......
  • 解析lightgbm的txt模型文件
    根据近期的github方案,实现对txt格式的pmml文件的加载添加依赖<dependency><groupId>org.jpmml</groupId><artifactId>pmml-lightgbm</artifactId><version>1.5.4</version></dependency><dependency><groupId>......
  • 使用datax做数据同步所踩的坑。。。
    数据同步步骤:按照网上的步骤下载部署好datax后,开始尝试数据同步:先准备好数据,任务为将test数据库的test1同步至testwriter数据库的test2.datax目录为/usr/local/datax,datax.py目录为/usr/local/datax/bin下。由于此次数据同步连接的两个数据库均为mysql类型,先查看.json文件......
  • web页面引用相关文件或者页面方式汇总
    在网页里包含另一个网页(或文件)方法如下:一、要包含的文件是css文件的话,用<linktype=text/cssrel=stylesheethref=1.css>二、要包含的文件是js文件的话,用<scriptlanguage=javascriptsrc=a.js></script>三、要包含的文件是html文件的话,用<!--#includefile="htmlpage.htm"-......
  • Allegro172如何创建高速差分过孔结构eml文件操作指导
    Allegro172如何创建高速差分过孔结构eml文件操作指导SigrityPowerSI3D-EMFull-WaveHSSO模式支持直接从.exml文件中提取高速过孔结构,然后进行仿真..exml文件如下图该文件是从Allegro里面生成的,如何生成,具体操作如下,以Allegro172版本为例首先在Allegro中做好高速差分......
  • 【java编程】深入浅出JVM(四):类文件结构
    原创菜菜的后端私房菜Java文件编译成字节码文件后,通过类加载机制到Java虚拟机中,Java虚拟机能够执行所有符合要求的字节码,因此无论什么语言,只要能够编译成符合要求的字节码文件就能够被Java虚拟机执行.Java虚拟机和字节码是语言、平台无关性的基石.本篇文章将深入浅出的解析......
  • 【SpringBoot开发】 文件上传 (秒传、断点续传、分片上传)
    原创Java技术前沿引言文件上传在软件开发项目中极为常见,涵盖了图片、音频、视频及各类文档的上传需求。对于小型文件,简单的Form表单上传机制通常足以应对。然而,当面对体积庞大的文件,如超过1GB的文件,或用户处于网络条件不佳的环境下时,传统的上传方式便显得力不从心。试想,用户......
  • C:\Windows\System32\spp\store 文件夹是 Windows 操作系统中与激活和许可证管理
    C:\Windows\System32\spp\store文件夹是Windows操作系统中与激活和许可证管理相关的一个重要文件夹。该文件夹存储了与Windows激活过程相关的信息、许可证密钥、许可证的状态等数据。具体来说,它主要涉及SoftwareProtectionPlatform(SPP),即软件保护平台。1. 什么是SPP......