七牛雲,阿里OSS,資料夾同步

2021-09-05 11:38:46 字數 4136 閱讀 9537

一,七牛雲

1.命令列工具(qshell):

2.使用 qshell 同步目錄:

3.github qupload使用指令:

總結步驟:

2.檢視當前linux環境bash型別-->echo $shell

3.vim ~/.bashrc 末尾增加一行:export path=$path:/home/python/downloads/qshell-v2.3.5,將qshell命令新增到環境變數,接下來就可以在任何位置使用qshell命令了.

4.金鑰設定,name為你的使用者名稱,也可隨意。

qshell account name

5.賬號管理

qshell user ls 可列舉賬戶下所有的賬戶資訊

6.此處操作後在當前使用者主目錄中生成 qshell 目錄:ls ~/.qshell/

7.在~/.qshell/目錄下建立上傳配置檔案upload.conf

具體配置如下,各項含義參考:文件

8.開始資料夾同步,-c 配置併發協程數。

qshell qupload upload.conf -c 1000

二,阿里雲oss

麻煩一點,主要看文件吧:

1.ossutil命令列工具:

2.執行:ossutil cp -r public/ oss://book21 -j 30 -u 

[root@izwz91b2n3d35hx10vt3x5z book.tiantianqutao.com]# ossutil cp -r public/ oss://book21 -j 30 -u

3.注意併發數的設定,經除錯,30最優。

4.完整引數:

$./ossutil -h

usage of ossutil:

options:

-s --short-format 顯示精簡格式,如果未指定該選項,預設顯示長格式。

-j --jobs= 多檔案操作時的併發任務數,預設值:5,取值範圍:1-10000。

-v --version 顯示ossutil的版本(1.0.0.beta2)並退出。

--output-dir= 指定輸出檔案所在的目錄,輸出檔案目前包含:cp命令批量拷貝檔案出錯時所產生的report檔案(關於report檔案更多資訊,請參考cp命令幫助)。預設值為 :當前目錄下的ossutil_output目錄。

--parallel= 單檔案內部操作的併發任務數,取值範圍:1-10000, 預設將由ossutil根據操作型別和檔案大小自行決定。

-l --language= 設定ossutil工具的語言,預設值:ch,取值範圍:ch/en。

-t --sts-token= 訪問oss使用的sts token(該選項值會覆蓋配置檔案中的相應設定),非必須設定項。

-m --multipart 指定操作的物件為bucket中未完成的multipart事件,而非預設情況下的object。

-b --bucket 對bucket進行操作,該選項用於確認作用於bucket的操作。

--delete 刪除操作

-e --endpoint= ossutil工具的基本endpoint配置(該選項值會覆蓋配置檔案中的相應設定),注意其必須為乙個二級網域名稱。

-k --access-key-secret= 訪問oss使用的accesskeysecret(該選項值會覆蓋配置檔案中的相應設定)。

--bigfile-threshold= 開啟大檔案斷點續傳的檔案大小閾值,預設值:100m,取值範圍:0b-9223372036854775807b

--retry-times= 當錯誤發生時的重試次數,預設值:3,取值範圍:1-500

-a --all-type 指定操作的物件為bucket中的object和未完成的multipart事件。

-r --recursive 遞迴進行操作。對於支援該選項的命令,當指定該選項時,命令會對bucket下所有符合條件的objects進行操作,否則只對url中指定的單個object進行操作。

-f --force 強制操作,不進行詢問提示。

-u --update 更新操作

-c --config-file= ossutil工具的配置檔案路徑,ossutil啟動時從配置檔案讀取配置,在config命令中,ossutil將配置寫入該檔案。

-i --access-key-id= 訪問oss使用的accesskeyid(該選項值會覆蓋配置檔案中的相應設定)。

--acl= acl資訊的配置。

-d --directory 返回當前目錄下的檔案和子目錄,而非遞迴顯示所有子目錄下的所有object。

--checkpoint-dir= checkpoint目錄的路徑(預設值為:.ossutil_checkpoint),斷點續傳時,操作失敗ossutil會自動建立該目錄,並在該目錄下記錄checkpoint資訊,操作成功則刪除該目錄。如果指定了該選項,請確保所指定的目錄可以被刪除。

--type= 計算的型別, 預設值:crc64, 取值範圍: crc64/md5

-h --help show usage message

5.警告

三,新增定時任務

crontab簡易入門

假設我要設定乙個任務,每分鐘就要做乙個資料同步,這個同步指令碼的路徑是/home/blue/do/rsyncfile.sh,那麼我可以在這麼配置,使用blue使用者,在終端輸入

crontab -e

# 此時會進入 vi 的編輯畫面讓您編輯工作!注意到,每項工作都是一行。

#分 時 日 月 周 |<**********====任務的完整命令列

* * * * * /home/blue/do/rsyncfile.sh

預設情況下,任何使用者只要不被列入 /etc/cron.deny 當中,那麼他就可以直接下達「 crontab -e 」去編輯自己的例行性命令了!整個過程就如同上面提到的,會進入 vi 的編輯畫面, 然後以乙個工作一行來編輯,編輯完畢之後輸入「 :wq 」儲存後離開 vi 就可以了! 

*/5 * * * *  /home/blue/do/rsyncfile.sh
0 2 1 4 *  /home/blue/do/rsyncfile_day.sh
這樣,在4月1號凌晨2點0分就會開始啟動我們的補資料的指令碼了。

同步資料,在網際網路公司是再平常不過的任務了,這裡大家可以看到crontab的魅力所在了,只需要寫最簡單的業務邏輯,把排程交給crond做,就完成了乙個可靠性很高的一項任務了,如果要自己去額外寫這種排程程式,不知道要花多少精力才能做到可靠穩定。

實踐:1.編寫ossutil.sh檔案,內容如下,切記雖然配置了ossutil環境變數,ossutil 命令還是要寫全路徑,否則根本無法執行:

3.手動執行測試:

./ossutil.sh

4.crontab -e,編寫5分鐘執行一次的任務,並將日誌追加到ossutil.log檔案中(會自動建立):

*/5 * * * * /root/ossutil-v1.4.2/ossutil.sh >> /root/ossutil-v1.4.2/ossutil.log

6.檢視所有定時任務:crontab -l

7.檢視定時任務執行日誌:tail -f /var/log/cron

阿里雲oss 上傳整個資料夾

最近公司做工程專案,實現資料夾雲儲存上傳。網上找了一天,發現網上很多 都存在相似問題,最後終於找到了乙個滿足我需求的專案。工程如下 這裡對專案的資料夾傳輸功能做出分析,怎麼實現資料夾上傳的,如何進行資料夾上傳的。執行 資料夾所在位置 c users liu desktop 14 無限自動改id版 上...

阿里雲儲存oss 怎麼上傳找資料夾

最近公司做工程專案,實現資料夾雲儲存上傳。網上找了一天,發現網上很多 都存在相似問題,最後終於找到了乙個滿足我需求的專案。工程如下 這裡對專案的資料夾傳輸功能做出分析,怎麼實現資料夾上傳的,如何進行資料夾上傳的。執行 資料夾所在位置 c users liu desktop 14 無限自動改id版 上...

阿里雲oss資料夾上傳

最近公司做工程專案,實現資料夾雲儲存上傳。網上找了很久,發現網上很多專案都存在相似問題,最後終於找到了乙個符合我要求的專案。工程如下 這裡對專案的資料夾雲儲存上傳進行分析,實現資料夾上傳,如何進行資料夾雲儲存。執行 資料夾所在位置 c users liu desktop 這裡使用的雲儲存服務功能,所...