<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          嵌入式開發(fā)中,好用的文件同步工具!

          共 2855字,需瀏覽 6分鐘

           ·

          2024-05-21 22:08

             
              關(guān)注、星標(biāo)公眾號,直達(dá)精彩內(nèi)容
          來源 | 網(wǎng)絡(luò)素材



          rsync是什么?

          rsync(remote sync) 是一個用于文件同步的工具。它可以用于兩個本地目錄之間的文件同步,也可以用于本地設(shè)備與遠(yuǎn)程設(shè)備之間的文件同步。

          rsync與scp不同之處就是:rsync會檢查發(fā)送方和接收方已有的文件,僅傳輸有變動的部分(默認(rèn)規(guī)則是文件大小或修改時間有變動)。

          rsync的使用

          這里使用PC與開發(fā)板來進(jìn)行演示。

          注意:傳輸?shù)碾p方都必須安裝 rsync。

          我們的開發(fā)板上并沒有rsync,下面我們來一起編譯一個。

          下載rsync源碼:

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

          解壓、進(jìn)入rsync-3.2.3、創(chuàng)建tmp文件夾:

          tar -xvf rsync-3.2.3.tar.gz
          cd rsync-3.2.3/
          mkdir tmp

          輸入如下命令生成交叉編譯的Makefile文件:

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

          此時可能會報如下錯誤:

          根據(jù)提示進(jìn)行修改。大概意思就是SIMD這個東西被使能了,SIMD是什么我們這里不需要管,我們關(guān)掉它即可。

          輸出命令 ./configure --help 查看配置參數(shù),可以看到關(guān)閉SIMD的方式如:

          輸入:

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

          還是報錯:

          再次根據(jù)提示進(jìn)行修改configure命令:

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

          這時候顯示 rsync 3.2.3 configuration successful :

          可以生成了Makefile文件了。

          注意:如果還有錯誤的話根據(jù)提示進(jìn)行配置即可。

          PS:關(guān)于Makefile文件的支持可查閱上一篇文章:Makefile常用基礎(chǔ)知識梳理!

          然后編譯、安裝:

          make
          make install

          在tmp文件夾下得到:

          其中,rsync可執(zhí)行文件是我們板子要用到的,把其傳到板子的/usr/bin目錄下:

          scp rsync [email protected]:/usr/bin

          下面對rsync的使用進(jìn)行一個簡單的演示:

          在板子上先建100個文件:

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

          rsync -avzu --progress [email protected]:/root/test .
          • -a:表示存檔模式,保存所有的元數(shù)據(jù),比如修改時間(modification time)、權(quán)限、所有者等。
          • -v:表示輸出細(xì)節(jié)。
          • -z:指定同步時壓縮數(shù)據(jù)。
          • -u:表示同步時跳過目標(biāo)目錄中修改時間更新的文件。
          • --progress:表示顯示進(jìn)展。

          板子再創(chuàng)建100個文件:

          PC端再接著同步:

          可以看到,文件是接著傳的,前面已經(jīng)傳過的不會再重新傳。

          以上就是本次關(guān)于rsync這個小工具的簡單分享。

          還有其它類似的工具嗎?歡迎留言討論

          版權(quán)聲明:本文來源網(wǎng)絡(luò),免費(fèi)傳達(dá)知識,版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請聯(lián)系我進(jìn)行刪除。

          ????????????????  END  ???????????????

                

          關(guān)注我的微信公眾號,回復(fù)“星球”加入知識星球,有問必答。

                


          點(diǎn)擊“閱讀原文”查看知識星球詳情,歡迎點(diǎn)分享、收藏、點(diǎn)贊、在看。

          瀏覽 264
          1點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          1點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本xxxx视频 | 国产一级黄色A片 | 欧美色综合天天久久综合精品 | 亚洲色图欧美色图另类 | 一本色道无码道DVD在线播放 |