交叉编译arm版本rsync工具

2023-10-28

自动安装脚本

#!/bin/sh
BUILD_HOST=arm-linux-gnueabihf
ARM_GCC=${BUILD_HOST}-gcc
BASE=`pwd`
OUTPUT_PATH=${BASE}/install
RSYNC=rsync-3.1.3

make_dirs () {
    #为了方便管理,创建有关的目录
    cd ${BASE} && mkdir compressed install source -p
}
download_package () {
    cd ${BASE}/compressed
    #下载包
	wget https://download.samba.org/pub/rsync/${RSYNC}.tar.gz
}
tar_package () {
    cd ${BASE}/compressed
    ls * > /tmp/list.txt
    for TAR in `cat /tmp/list.txt`
    do
        tar -xf $TAR -C  ../source
    done
    rm -rf /tmp/list.txt
}
make_rsync () {
	cd ${BASE}/source/${RSYNC}
	./configure --prefix=${OUTPUT_PATH}/${RSYNC} --host=${BUILD_HOST} CC=${ARM_GCC} #--static
	make && make install
}
make_dirs
download_package
tar_package
make_rsync

下载源码

下载地址

解压源码

tar -xvf rsync-3.1.3.tar.gz

配置编译

./configure --prefix=/home/${usrname}/rsync_install --host=arm-linux CC=arm-linux-gnueabihf
make

安装

make install

复制到开发板

cp rsync /usr/bin

使用rsync

命令参数

-a 包含-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-v 同步时显示一些信息,让我们知道同步的过程
-l 保留软连接
-L 加上该选项后,同步软链接时会把源文件给同步
-p 保持文件的权限属性
-o 保持文件的属主
-g 保持文件的属组
-D 保持设备文件信息
-t 保持文件的时间属性
--delete 删除DEST中SRC没有的文件
--exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
-P 显示同步过程,比如速率,比-v更加详细
-u 加上该选项后,如果DEST中的文件比SRC新,则不同步
-z 传输时压缩
--progress:显示数据传输的进度信息
--password-file=FILE:指定密码文件,将密码写入文件,实现非交互式数据同步,这个文件名也需要修改权限为600
--delete:删除那些仅在目标路径中存在的文件(源路径中不存在),在脚本中的数据同步经常加上此参数
--list-only:仅列出服务器模块列表,需要rsync服务器设置list=true

配置文件

/etc/rsyncd.conf

port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.36.130
[test]
path=/tmp/rsync
use chroot=true
max connections=4
read only=no
list=true
uid=root
gid=root
auth users=test
secrets file=/etc/rsyncd.passwd
hosts allow=192.168.36.131 (多个ip以空格隔开,也可以写ip段:192.168.36.0/24)

配置文件解释

 port:指定在哪个端口启动rsyncd服务,默认是873端口。
 log file:指定日志文件。
 pid file:指定pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作。
 address:指定启动rsyncd服务的IP。假如你的机器有多个IP,就可以指定由其中一个启动rsyncd服务,如果不指定该参数,默认是在全部IP上启动。
 []:指定模块名,里面内容自定义。
 path:指定数据存放的路径。
 use chroot true|false:表示在传输文件前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件,阿铭建议你设置成false。
 max connections:指定最大的连接数,默认是0,即没有限制。
 read only ture|false:如果为true,则不能上传到该模块指定的路径下。
 list:表示当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏。
 uid/gid:指定传输文件时以哪个用户/组的身份传输。
 auth users:指定传输时要使用的用户名。
 secrets file:指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。注意该密码文件的权限一定要是600。格式:用户名:密码
 hosts allow:表示被允许连接该模块的主机,可以是IP或者网段,如果是多个,中间用空格隔开。 
 当设置了auth users和secrets file后,客户端连服务端也需要用用户名密码了,若想在命令行中带上密码,可以设定一个密码文件
 rsync -avL test@192.168.36.130::test/test1/  /tmp/test8/ --password-file=/etc/pass 
 其中/etc/pass内容就是一个密码,权限要改为600

参考博客

使用参考:https://blog.csdn.net/leonnew/article/details/90171535

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

交叉编译arm版本rsync工具 的相关文章

随机推荐

  • ArcGIS里shp文件连接Excel的字段,出现无法显示Excel里全部字段的问题

    1 在arcgis连接Excel属性表时 连接表的字段不全 经查发现Excel所要关联的字段下有数值和文本两种内容 导致arcgis预读关联表字段时排除了 解决方法 在Excel修改该关联字段的内容数据格式一致 转载于 https www
  • Qt、Qt Creator下载、安装

    一 Qt Qtcreator简介 Qt是一个跨平台应用开发框架 Qt Creator是一个跨平台的集成开发环境 IDE 集成了Qt所提供的功能 可以单独下载使用 也可以结合Qt组合使用 二 下载 下载地址 https download qt
  • 【微信支付开发流程】

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 场景介绍 支付步骤 总结 场景介绍 适用于商户在移动端APP中集成微信支付功能 商户APP调用微信提供的SDK调用微信支付模块 商户APP会跳转到微信中完成支付 支
  • Vue2项目练手——通用后台管理项目第七节

    Vue2项目练手 通用后台管理项目 用户管理 分页 使用的组件 Users vue mock js 关键字搜索区 Users vue 权限管理 登录页面 样式修改 Login vue 登录权限 使用token对用户鉴 使用cookie对当前
  • 在win10环境中安装xilinx vivado IDE时出现的问题及解决方法

    1 问题 There is no valid Xilinx installation that this Update can be applied to 解决方法一 下载的是更新包 如果设备没有预装vivado的情况下就会出现这种问题 可
  • 前后端分离架构图

    本图 介绍的是目前大部分公司的前后端分离架构设计框架 是较为简单的框架图 底层实现原理需要了解其中包含的技术要点 重点包括了 Vue和Java springboot框架 以及mysql数据库 适合新手学习 借鉴
  • matlab怎么把三维离散点投影到二维平面_基于CT扫描的沥青混合料试件三维离散元重构...

    文章来源 微信公众号 沥青路面 沥青混合料是由沥青胶结料 集料以及空隙等构成的非均质多层次复合材料 如何精确地还原沥青混合料复杂的材料组成结构并生成虚拟数字试件是进行沥青混合料力学性能模拟分析的基础与前提 随着计算机技术的发展 有学者开始运
  • 【环境搭建】使用IDEA创建SpringBoot项目详细步骤

    目录标题 一 创建springboot项目 1 创建spring initializr工程 2 勾选需要的的依赖 3 项目结构如下 1 pom 2 目录结构 3 测试类 4 如何在springboot项目中添加测试 二 SpringBoot
  • 用Python制作一个自动抢票脚本

    前言 大麦网 是中国综合类现场娱乐票务营销平台 业务覆盖演唱会 话剧 音乐剧 体育赛事等领域 但是因为票数有限 还有黄牛们不能丢了饭碗 所以导致了 很多人都抢不到票 那么 今天带大家用Python来制作一个自动抢票的脚本小程序 知识点 面向
  • android调用本地js文件上传,原生JS实现前端本地文件上传

    本文实例为大家分享了JS实现前端本地文件上传的具体代码 供大家参考 具体内容如下 通过input type file来选择本地文件 var fileInput document querySelector file input fileIn
  • VS+CUDA 新建项目里没有CUDA选项(附详细图文步骤)

    版权声明 本文为CSDN博主 Xav Zewen 的原创文章 遵循CC 4 0 BY SA版权协议 转载请附上原文出处链接及本声明 原文链接 https blog csdn net weixin 39591031 article detai
  • 美国网站服务器有哪些,可以搭建什么网站?

    和我们国内的服务器一样 美国网站服务器可以分为 美国虚拟主机 美国独立服务器 美国VPS服务器 美国服务器又可分为大带宽服务器 站群服务器和高防服务器 其中美国云服务器最为常用 虽然美国距离国内较远 数据请求 访问速度会较慢 但其它配置和性
  • 前端鼠标形状设置--cursor

    前端鼠标形状设置 cursor 前端鼠标形状设置 可以通过设置cursor属性来修改 在Vue项目中 改变鼠标形状设置 在index html中写入下面的代码即可 body cursor url favicon ico default 效果
  • 后端返回数据给前端乱码

    我用的是谷歌的浏览器 其他的浏览器未知 我后端返回数据给前端 发现在谷歌浏览器调试中出现乱码 但是页面没有出现乱码 如下图所示 防止出现这种情况可以在代码中加上 response setContentType application jso
  • 怎么求点云的投影面积

    要求点云的投影面积 需要先将点云数据转换成三维模型 然后使用三维几何学算法求出模型的表面积 具体方法可以使用计算几何库 如 CGAL 或者利用三维建模软件 如 Rhino Blender 等 进行计算 投影面积可以通过投影三维模型到二维平面
  • 预览Base64文件

    预览Base64格式的图片 previewPicture fileBase64 let newWindow window open newWindow document write img src 预览Base64格式的pdf previe
  • Java简易图书管理系统开发全过程 (1)

    引言 今天班里的图书角管理员抱怨 这借书流程太繁琐了 我便善 装 良 杯 地说 那我开发个图书管理软件吧 于是便有了这个 Java简易图书管理系统开发全过程 1 引言 开发环境搭建 底层逻辑构思 开发环境搭建 我打算使用Java Swing
  • 空间与运动——简单太阳系+牧师与魔鬼

    作业内容 一 简答并用程序验证 1 游戏对象运动的本质是什么 2 请用三种方法以上方法 实现物体的抛物线运动 3 简单太阳系 二 编程实践 1 脚本设计 2 效果图 一 简答并用程序验证 1 游戏对象运动的本质是什么 游戏对象的运动是物体随
  • unity技能冷却

    本文转载自http blog csdn net liang 704959721 article details 44961757 在游戏中一般都会用到冷却技能 CD 实现的方式一般都是遮罩 你可以自己写遮放的方法 或者用shader实现 使
  • 交叉编译arm版本rsync工具

    交叉编译arm版本rsync工具 自动安装脚本 下载源码 解压源码 配置编译 安装 复制到开发板 使用rsync 命令参数 配置文件 参考博客 自动安装脚本 bin sh BUILD HOST arm linux gnueabihf ARM