<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>

          對(duì)象存儲(chǔ)神器-rclone光速入門

          共 15556字,需瀏覽 32分鐘

           ·

          2022-04-14 15:48


          1. 下載&安裝

          從下面的地址下載對(duì)應(yīng)的二進(jìn)制版本即可,之后安裝在系統(tǒng)的/usr/local/bin目錄下,或者其他用戶指定的路徑即可。
          二進(jìn)制:https://rclone.org/downloads/
          源碼:https://github.com/rclone/rclone

          2. rclone簡(jiǎn)介

          rclone是一個(gè)golang寫的開源遠(yuǎn)程數(shù)據(jù)同步工具,后端支持文件系統(tǒng)以及多種類型的對(duì)象存儲(chǔ)產(chǎn)品,是一個(gè)跨平臺(tái)的數(shù)據(jù)同步工具,相比于s3cmd性能更加強(qiáng)大,同時(shí)還支持sync數(shù)據(jù)同步等功能實(shí)現(xiàn)差異數(shù)據(jù)的跨存儲(chǔ)后臺(tái)同步。并且還提供mount操作,可以直接將遠(yuǎn)端對(duì)象存儲(chǔ)掛載到本地文件系統(tǒng)進(jìn)行訪問。官方的Features介紹如下

          MD5/SHA-1 hashes checked at all times for file integrity
          Timestamps preserved on files
          Partial syncs supported on a whole file basis
          Copy mode to just copy new/changed files
          Sync (one way) mode to make a directory identical
          Check mode to check for file hash equality
          Can sync to and from network, e.g. two different cloud accounts
          Optional large file chunking (Chunker)
          Optional transparent compression (Compress)
          Optional encryption (Crypt)
          Optional FUSE mount (rclone mount)
          Multi-threaded downloads to local disk
          Can serve local or remote files over HTTP/WebDav/FTP/SFTP/dlna

          3. 初始配置與檢查

          查看軟件版本

          ╭─user@Mac?~
          ╰─$?rclone?version??????????????????????????????????????????????????????????1??
          rclone?v1.58.0
          -?os/version:?darwin?10.15.7?(64?bit)
          -?os/kernel:?19.6.0?(x86_64)
          -?os/type:?darwin
          -?os/arch:?amd64
          -?go/version:?go1.17.8
          -?go/linking:?dynamic
          -?go/tags:?cmount

          通過命令rclone config file獲取默認(rèn)的配置文件路徑,之后在對(duì)應(yīng)的配置文件中填寫對(duì)應(yīng)的配置

          ╭─user@Mac?~
          ╰─$?rclone?config?file
          Configuration?file?is?stored?at:
          /Users/user/.config/rclone/rclone.conf
          ╭─user@Mac?~
          ╰─$?vi?/Users/user/.config/rclone/rclone.conf
          ╭─user@Mac?~
          ╰─$?cat?/Users/user/.config/rclone/rclone.conf
          [s3v2]
          type?=?s3
          provider?=?Ceph
          access_key_id?=?xxx
          secret_access_key?=?sss
          endpoint?=?https://s3.demo.com
          location_constraint?=
          force_path_style?=?false
          ╭─user@Mac?~/SourceCode/rclone??master??
          ╰─$?rclone?config?show
          [s3v2]
          type?=?s3
          provider?=?Ceph
          access_key_id?=?xxx
          secret_access_key?=?sss
          endpoint?=?http://s3.demo.com
          location_constraint?=?
          force_path_style?=?false

          ╭─user@Mac?~/SourceCode/rclone??master??
          ╰─$?rclone?config?dump
          {
          ????"s3v2":?{
          ????????"access_key_id":?"xxx",
          ????????"endpoint":?"http://s3.demo.com",
          ????????"force_path_style":?"false",
          ????????"location_constraint":?"",
          ????????"provider":?"Ceph",
          ????????"secret_access_key":?"sss",
          ????????"type":?"s3"
          ????}
          }%

          通過rclone listremotes查看已經(jīng)配置好的遠(yuǎn)端服務(wù)列表

          ╭─user@Mac?~
          ╰─$?rclone?listremotes
          s3v2:

          通過rclone lsd查看bucket列表或者是遠(yuǎn)端的目錄列表

          ╭─user@Mac?~
          ╰─$?rclone?lsd?s3v2:
          ??????????-1?2022-01-10?11:11:52????????-1?demo-storage
          ╭─user@Mac?~
          ╰─$?rclone?lsd?s3v2:demo-storage
          ???????????0?2022-04-11?10:42:45????????-1?demo-storage
          ???????????0?2022-04-11?10:42:45????????-1?wallpapers-zelda

          通過rclone backend features獲取遠(yuǎn)端服務(wù)支持的功能特性列表

          ╭─user@Mac?~/SourceCode/rclone??master*??
          ╰─$????rclone?backend?features?s3v2:
          {
          ????????"Name":?"s3v2",
          ????????"Root":?"",
          ????????"String":?"S3?root",
          ????????"Precision":?1,
          ????????"Hashes":?[
          ????????????????"md5"
          ????????],
          ????????"Features":?{
          ????????????????"About":?false,
          ????????????????"BucketBased":?true,
          ????????????????"BucketBasedRootOK":?true,
          ????????????????"CanHaveEmptyDirectories":?false,
          ????????????????"CaseInsensitive":?false,
          ????????????????"ChangeNotify":?false,
          ????????????????"CleanUp":?true,
          ????????????????"Command":?true,
          ????????????????"Copy":?true,
          ????????????????"DirCacheFlush":?false,
          ????????????????"DirMove":?false,
          ????????????????"Disconnect":?false,
          ????????????????"DuplicateFiles":?false,
          ????????????????"GetTier":?true,
          ????????????????"IsLocal":?false,
          ????????????????"ListR":?true,
          ????????????????"MergeDirs":?false,
          ????????????????"Move":?false,
          ????????????????"OpenWriterAt":?false,
          ????????????????"PublicLink":?true,
          ????????????????"Purge":?false,
          ????????????????"PutStream":?true,
          ????????????????"PutUnchecked":?false,
          ????????????????"ReadMimeType":?true,
          ????????????????"ServerSideAcrossConfigs":?false,
          ????????????????"SetTier":?true,
          ????????????????"SetWrapper":?false,
          ????????????????"Shutdown":?false,
          ????????????????"SlowHash":?false,
          ????????????????"SlowModTime":?true,
          ????????????????"UnWrap":?false,
          ????????????????"UserInfo":?false,
          ????????????????"WrapFs":?false,
          ????????????????"WriteMimeType":?true
          ????????}
          }

          4. 數(shù)據(jù)上傳下載與遍歷

          以上傳本地bin目錄到遠(yuǎn)端S3為例

          ╭─user@Mac?~/SourceCode/rclone??master??
          ╰─$?ls?bin?????????
          bisect-go-rclone.sh?????????check-merged.go?????????????decrypt_names.py????????????make_changelog.py???????????nfpm.yaml???????????????????test-repeat-vfs.sh??????????test_proxy.py???????????????update-authors.py
          bisect-rclone.sh????????????config.py???????????????????get-github-release.go???????make_manual.py??????????????not-in-stable.go????????????test-repeat.sh??????????????tidy-beta???????????????????upload-github
          build-xgo-cgofuse.sh????????cross-compile.go????????????make_backend_docs.py????????make_rc_docs.sh?????????????test-all-commits-compile.sh?test_independence.go????????travis.rclone.conf??????????win-build.bat


          ╭─user@Mac?~/SourceCode/rclone??master??
          ╰─$?rclone?copy?bin?s3v2:demo-storage/bin?-vv
          2022/04/13?14:50:25?DEBUG?:?rclone:?Version?"v1.58.0"?starting?with?parameters?["rclone"?"copy"?"bin"?"s3v2:demo-storage/bin"?"-vv"]
          2022/04/13?14:50:25?DEBUG?:?Creating?backend?with?remote?"bin"
          2022/04/13?14:50:25?DEBUG?:?Using?config?file?from?"/Users/user/.config/rclone/rclone.conf"
          2022/04/13?14:50:25?DEBUG?:?fs?cache:?renaming?cache?item?"bin"?to?be?canonical?"/Users/user/SourceCode/rclone/bin"
          2022/04/13?14:50:25?DEBUG?:?Creating?backend?with?remote?"s3v2:demo-storage/bin"
          2022/04/13?14:50:25?DEBUG?:?S3?bucket?demo-storage?path?bin:?Waiting?for?checks?to?finish
          2022/04/13?14:50:25?DEBUG?:?S3?bucket?demo-storage?path?bin:?Waiting?for?transfers?to?finish
          2022/04/13?14:50:25?DEBUG?:?bisect-rclone.sh:?md5?=?5476e61f31e1e2d697ce06a0f0100829?OK
          2022/04/13?14:50:25?INFO??:?bisect-rclone.sh:?Copied?(new)
          ...
          2022/04/13?14:50:26?DEBUG?:?upload-github:?md5?=?a26b267a5c784152a6378457b217c3b9?OK
          2022/04/13?14:50:26?INFO??:?upload-github:?Copied?(new)
          2022/04/13?14:50:26?INFO??:?
          Transferred:???????62.573?KiB?/?62.573?KiB,?100%,?0?B/s,?ETA?-
          Transferred:???????????25?/?25,?100%
          Elapsed?time:?????????0.8s

          2022/04/13?14:50:26?DEBUG?:?13?go?routines?active
          ╭─user@Mac?~/SourceCode/rclone??master??
          ╰─$?rclone?lsd?s3v2:demo-storage?????????????
          ???????????0?2022-04-13?14:50:32????????-1?bin
          ???????????0?2022-04-13?14:50:32????????-1?demo
          ???????????0?2022-04-13?14:50:32????????-1?demo-storage
          ???????????0?2022-04-13?14:50:32????????-1?wallpapers-zelda

          通過lsd目錄查看指定路徑下的目錄列表

          ╭─user@Mac?~/SourceCode/rclone??master??
          ╰─$?rclone?lsd?s3v2:demo-storage???
          ???????????0?2022-04-13?15:02:41????????-1?bin
          ???????????0?2022-04-13?15:02:41????????-1?demo
          ???????????0?2022-04-13?15:02:41????????-1?demo-storage
          ???????????0?2022-04-13?15:02:41????????-1?wallpapers-zelda

          通過ls命令查看指定目錄下的文件列表

          ╭─user@Mac?~/SourceCode/rclone??master??
          ╰─$?rclone?ls?s3v2:demo-storage/bin?
          ??????253?.ignore-emails
          ??????382?bisect-go-rclone.sh
          ??????902?bisect-rclone.sh
          ????...
          ??????370?travis.rclone.conf
          ?????1224?update-authors.py
          ?????1034?upload-github
          ??????364?win-build.bat

          通過指定max-depth參數(shù)來設(shè)定ls命令所需遍歷的目錄層級(jí)深度

          ╭─user@Mac?~/SourceCode/rclone??master??
          ╰─$?rclone?ls?s3v2:demo-storage?--max-depth?1?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
          ??????382?bisect-go-rclone.sh
          ??????902?bisect-rclone.sh
          ??????142?build-xgo-cgofuse.sh
          ...
          ??????370?travis.rclone.conf
          ?????1224?update-authors.py
          ?????1034?upload-github
          ??????364?win-build.bat

          同時(shí)支持以json方式輸出,并輸出對(duì)應(yīng)文件的md5值信息。

          ╭─user@Mac?~/SourceCode/rclone??master??
          ╰─$?rclone?lsjson?s3v2:demo-storage/bin?--hash????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????1??
          [
          {"Path":".ignore-emails","Name":".ignore-emails","Size":253,"MimeType":"application/octet-stream","ModTime":"2021-12-16T10:08:33.005446571+08:00","IsDir":false,"Hashes":{"md5":"8155885487321df7790cf63a9db7ba46"},"Tier":"STANDARD"},
          {"Path":"upload-github","Name":"upload-github","Size":1034,"MimeType":"application/octet-stream","ModTime":"2021-07-08T18:22:34.487717787+08:00","IsDir":false,"Hashes":{"md5":"a26b267a5c784152a6378457b217c3b9"},"Tier":"STANDARD"},
          {"Path":"win-build.bat","Name":"win-build.bat","Size":364,"MimeType":"application/x-msdownload","ModTime":"2021-07-08T18:22:34.487814575+08:00","IsDir":false,"Hashes":{"md5":"bf695fba05eb1ec8972eac29a59b21b4"},"Tier":"STANDARD"}
          ]

          同時(shí)支持按文件files-only或者目錄dirs-only進(jìn)行內(nèi)容篩選

          ╭─user@Mac?~/SourceCode/rclone??master??
          ╰─$?rclone?lsjson?s3v2:demo-storage??--dirs-only????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????1??
          [
          {"Path":"bin","Name":"bin","Size":0,"MimeType":"inode/directory","ModTime":"2022-04-13T15:29:32.917088000+08:00","IsDir":true},
          {"Path":"demo","Name":"demo","Size":0,"MimeType":"inode/directory","ModTime":"2022-04-13T15:29:32.917140000+08:00","IsDir":true},
          {"Path":"demo-storage","Name":"demo-storage","Size":0,"MimeType":"inode/directory","ModTime":"2022-04-13T15:29:32.917145000+08:00","IsDir":true},
          {"Path":"wallpapers-zelda","Name":"wallpapers-zelda","Size":0,"MimeType":"inode/directory","ModTime":"2022-04-13T15:29:32.917149000+08:00","IsDir":true}
          ]

          數(shù)據(jù)下載

          ╭─user@Mac?/tmp/demo?
          ╰─$?ls????????
          ╭─user@Mac?/tmp/demo?
          ╰─$?pwd
          /tmp/demo
          ╭─user@Mac?/tmp/demo?
          ╰─$?rclone?copy?s3v2:demo-storage/bin?bin
          ╭─user@Mac?/tmp/demo?
          ╰─$?ls?bin
          bisect-go-rclone.sh?????????check-merged.go?????????????decrypt_names.py????????????make_changelog.py???????????nfpm.yaml???????????????????test-repeat-vfs.sh??????????test_proxy.py???????????????update-authors.py
          bisect-rclone.sh????????????config.py???????????????????get-github-release.go???????make_manual.py??????????????not-in-stable.go????????????test-repeat.sh??????????????tidy-beta???????????????????upload-github
          build-xgo-cgofuse.sh????????cross-compile.go????????????make_backend_docs.py????????make_rc_docs.sh?????????????test-all-commits-compile.sh?test_independence.go????????travis.rclone.conf??????????win-build.bat

          5. 使用sync數(shù)據(jù)同步

          將遠(yuǎn)端數(shù)據(jù)同步到本地

          ╭─user@Mac?/tmp/demo?
          ╰─$?rclone?sync?s3v2:demo-storage/bin?bin?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????1??
          ╭─user@Mac?/tmp/demo?
          ╰─$?ls
          bin
          ╭─user@Mac?/tmp/demo?
          ╰─$?ls?bin
          bisect-go-rclone.sh?????????check-merged.go?????????????decrypt_names.py????????????make_changelog.py???????????nfpm.yaml???????????????????test-repeat-vfs.sh??????????test_proxy.py???????????????update-authors.py
          bisect-rclone.sh????????????config.py???????????????????get-github-release.go???????make_manual.py??????????????not-in-stable.go????????????test-repeat.sh??????????????tidy-beta???????????????????upload-github
          build-xgo-cgofuse.sh????????cross-compile.go????????????make_backend_docs.py????????make_rc_docs.sh?????????????test-all-commits-compile.sh?test_independence.go????????travis.rclone.conf??????????win-build.bat

          模擬新建一個(gè)文件,同步到遠(yuǎn)端

          ╭─user@Mac?/tmp/demo?
          ╰─$?echo?newfile1?>?bin/newfile1
          ╭─user@Mac?/tmp/demo?
          ╰─$?rclone?sync?bin??s3v2:demo-storage/bin?
          ╭─user@Mac?/tmp/demo?
          ╰─$?rclone??ls?s3v2:demo-storage/bin???????
          ??????253?.ignore-emails
          ??????382?bisect-go-rclone.sh
          ??????...
          ??????370?travis.rclone.conf
          ?????1224?update-authors.py
          ?????1034?upload-github
          ??????364?win-build.bat

          模擬修改一個(gè)文件,同步到遠(yuǎn)端,可以看到只同步了差異部分

          ╭─user@Mac?/tmp/demo?
          ╰─$?echo?new123?>?bin/newfile1?????????????
          ╭─user@Mac?/tmp/demo?
          ╰─$?rclone?sync?bin??s3v2:demo-storage/bin?-vv
          2022/04/13?15:39:01?DEBUG?:?rclone:?Version?"v1.58.0"?starting?with?parameters?["rclone"?"sync"?"bin"?"s3v2:demo-storage/bin"?"-vv"]
          2022/04/13?15:39:01?DEBUG?:?Creating?backend?with?remote?"bin"
          2022/04/13?15:39:01?DEBUG?:?Using?config?file?from?"/Users/user/.config/rclone/rclone.conf"
          2022/04/13?15:39:01?DEBUG?:?fs?cache:?renaming?cache?item?"bin"?to?be?canonical?"/tmp/demo/bin"
          2022/04/13?15:39:01?DEBUG?:?Creating?backend?with?remote?"s3v2:demo-storage/bin"
          2022/04/13?15:39:01?DEBUG?:?S3?bucket?demo-storage?path?bin:?Waiting?for?checks?to?finish
          ...
          2022/04/13?15:39:02?DEBUG?:?upload-github:?Unchanged?skipping
          2022/04/13?15:39:02?DEBUG?:?win-build.bat:?Size?and?modification?time?the?same?(differ?by?0s,?within?tolerance?1ns)
          2022/04/13?15:39:02?DEBUG?:?win-build.bat:?Unchanged?skipping
          2022/04/13?15:39:02?DEBUG?:?S3?bucket?demo-storage?path?bin:?Waiting?for?transfers?to?finish
          2022/04/13?15:39:02?DEBUG?:?newfile1:?md5?=?f9f9a6b3363a401f566becf83a5fad1b?OK
          2022/04/13?15:39:02?INFO??:?newfile1:?Copied?(replaced?existing)
          2022/04/13?15:39:02?DEBUG?:?Waiting?for?deletions?to?finish
          2022/04/13?15:39:02?INFO??:?
          Transferred:??????????????7?B?/?7?B,?100%,?0?B/s,?ETA?-
          Checks:????????????????26?/?26,?100%
          Transferred:????????????1?/?1,?100%
          Elapsed?time:?????????0.3s

          2022/04/13?15:39:02?DEBUG?:?25?go?routines?active

          6. 掛載S3目錄到本地文件系統(tǒng)

          rclone支持按指定目錄作為根目錄進(jìn)行掛載,比如指定bucket名稱為demo-storage下的bin目錄作為根目錄

          ╭─user@Mac?/tmp?
          ╰─$?rclone?mount?s3v2:demo-storage/bin?~/mnt?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

          之后就可以在本地文件系統(tǒng)上訪問對(duì)應(yīng)的目錄數(shù)據(jù)了

          ╭─user@Mac?~
          ╰─$?cd?~/mnt
          ╭─user@Mac?~/mnt
          ╰─$?ls
          bisect-go-rclone.sh?????????cross-compile.go????????????make_manual.py??????????????test-all-commits-compile.sh?tidy-beta
          bisect-rclone.sh????????????decrypt_names.py????????????make_rc_docs.sh?????????????test-repeat-vfs.sh??????????travis.rclone.conf
          build-xgo-cgofuse.sh????????get-github-release.go???????newfile1????????????????????test-repeat.sh??????????????update-authors.py
          check-merged.go?????????????make_backend_docs.py????????nfpm.yaml???????????????????test_independence.go????????upload-github
          config.py???????????????????make_changelog.py???????????not-in-stable.go????????????test_proxy.py???????????????win-build.bat

          7. 其他操作

          通過link命令生成文件的訪問URL鏈接,支持通過expire設(shè)置URL有效時(shí)長(zhǎng)。

          ╭─user@Mac?~/mnt
          ╰─$?rclone?link??s3v2:demo-storage/bin/win-build.bat?--expire?1h?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????4??
          http://demo-storage.s3.demo.com/bin/win-build.bat?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ZK4XIPVNW9PMOADEZMSR%2F20220413%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220413T080748Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=b4d60414a5d13662ac7026821e0aa7ffa10f4654142b87ea8629d2ba98b05e8c

          通過size命令,獲取文件或者目錄的大小

          user@Mac?~/mnt
          ╰─$?rclone?size??s3v2:demo-storage/bin
          Total?objects:?26?(26)
          Total?size:?62.580?KiB?(64082?Byte)

          通過delete命令,刪除對(duì)應(yīng)的文件

          ╭─user@Mac?~/mnt
          ╰─$?rclone?delete??s3v2:demo-storage/bin/win-build.bat

          使用rmdir只能刪除空目錄,如果目錄殘留文件,需要使用purge命令刪除數(shù)據(jù),之后再執(zhí)行rmdir才能徹底刪除目錄數(shù)據(jù)。

          ╭─user@Mac?~/mnt
          ╰─$?rclone?rmdir??s3v2:demo-storage/bin?-v
          2022/04/13?16:12:25?INFO??:?S3?bucket?demo-storage?path?bin:?Removing?directory
          ╭─user@Mac?~/mnt
          ╰─$?rclone?ls??s3v2:demo-storage/bin
          ??????253?.ignore-emails
          ??...
          ?????1034?upload-github
          ╭─user@Mac?~/mnt
          ╰─$?rclone?purge??s3v2:demo-storage/bin?-v
          2022/04/13?16:12:55?INFO??:?build-xgo-cgofuse.sh:?Deleted
          ...
          2022/04/13?16:12:55?INFO??:?update-authors.py:?Deleted
          2022/04/13?16:12:55?INFO??:?S3?bucket?demo-storage?path?bin:?Removing?directory
          ╭─user@Mac?~/mnt
          ╰─$?rclone?ls??s3v2:demo-storage/bin
          ╭─user@Mac?~/mnt
          ╰─$?rclone?rmdir??s3v2:demo-storage/bin
          ╭─user@Mac?~/mnt
          ╰─$?rclone?lsd??s3v2:demo-storage
          ???????????0?2022-04-13?16:13:16????????-1?demo
          ???????????0?2022-04-13?16:13:16????????-1?demo-storage
          ???????????0?2022-04-13?16:13:16????????-1?wallpapers-zelda


          瀏覽 167
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  激情五月天亚洲操逼 | 色婷婷国产精品高潮呻吟AV久久 | 日本大鸡巴操逼视频 | 操逼国产高清无码 | 久久久久久成人影片 |