嵌入式开发常用文件同步工具
来源:strongerHuang 发布时间:2024-06-26 分享至微信


素材来源| 网络


今天给大家分享几款嵌入式开发常用文件同步工具。

rsync是什么?

rsync(remote sync) 是一个用于文件同步的工具。它可以用于两个本地目录之间的文件同步,也可以用于本地设备与远程设备之间的文件同步。

rsync与scp不同之处就是:rsync会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。

rsync的使用

这里使用PC与开发板来进行演示。

注意:传输的双方都必须安装 rsync。

我们的开发板上并没有rsync,下面我们来一起编译一个。

下载rsync源码:

https://download.samba.org/pub/rsync/

解压、进入rsync-3.2.3、创建tmp文件夹:

tar-xvfrsync-3.2.3.tar.gz
cdrsync-3.2.3/
mkdirtmp



输入如下命令生成交叉编译的Makefile文件:

./configure--prefix=$PWD/tmp--host=arm-linux-gnueabihfCC=arm-linux-gnueabihf-gcc


此时可能会报如下错误:

根据提示进行修改。大概意思就是SIMD这个东西被使能了,SIMD是什么我们这里不需要管,我们关掉它即可。

输出命令 ./configure --help 查看配置参数,可以看到关闭SIMD的方式如:

输入:

./configure--prefix=$PWD/tmp--disable-simd--host=arm-linux-gnueabihfCC=arm-linux-gnueabihf-gcc


还是报错:

再次根据提示进行修改configure命令:

./configure--prefix=$PWD/tmp--disable-simd--disable-openssl--disable-xxhash--disable-zstd--disable-lz4--host=arm-linux-gnueabihfCC=arm-linux-gnueabihf-gcc



这时候显示 rsync 3.2.3 configuration successful

可以生成了Makefile文件了。

注意:如果还有错误的话根据提示进行配置即可。

PS:关于Makefile文件的支持可查阅上一篇文章:Makefile常用基础知识梳理!

然后编译、安装:

make
makeinstall



在tmp文件夹下得到:

其中,rsync可执行文件是我们板子要用到的,把其传到板子的/usr/bin目录下:

scprsyncroot@192.168.1.108:/usr/bin

下面对rsync的使用进行一个简单的演示:

在板子上先建100个文件:

PC端同步板子里的这些文件到本地:

rsync-avzu--progressroot@192.168.1.108:/root/test.
  • -a:表示存档模式,保存所有的元数据,比如修改时间(modification time)、权限、所有者等。
  • -v:表示输出细节。
  • -z:指定同步时压缩数据。
  • -u:表示同步时跳过目标目录中修改时间更新的文件。
  • --progress:表示显示进展。

板子再创建100个文件:

PC端再接着同步:

可以看到,文件是接着传的,前面已经传过的不会再重新传。

以上就是本次关于rsync这个小工具的简单分享。

还有其它类似的工具吗?


------------END------------


关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。


[ 新闻来源:strongerHuang,更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj]
存入云盘 收藏
举报
全部评论

暂无评论哦,快来评论一下吧!

查看更多
相关文章
热门搜索