將Linux目錄同步到阿里雲OSS——ossutil

說明

最近在使用阿里雲oss,需要在前端編譯完成後,將編譯好的某些靜態資源文件上傳到oss(如js,圖片等),主要是爲了結合阿里雲CDN做緩存,增加頁面訪問速度。
這時需要在編譯完成後增加上傳oss的動作,ossutil是個不錯的工具(基於go語言的一個工具)。

補充:
一個更好用的OSS工具 ossfs,點擊連接步移

下載安裝

  1. 我是基於Linux 64位的,也有windows版本,詳見阿里雲官網
#可以下載到指定目錄,比如 /home/deploy/ossutil 
cd /home/deploy/ossutil 
#下載,目前最新版本爲1.6.3     
wget http://gosspublic.alicdn.com/ossutil/1.6.3/ossutil64     
#修改權限,變爲可執行文件    
chmod 755 ossutil64
  1. 配置
    通過交互式命令生成配置文件:
./ossutil64 config

請輸入配置文件路徑: # 直接回車跳過,使用默認配置文件即可:/home/deploy/.ossutilconfig (deploy是我當前的登錄用戶),如果你設置爲其它路徑,在使用命令時需使用--config-file參數指定路徑  
#下述配置,回車將跳過相關配置項的設置,配置項的具體含義,請使用"help config"命令查看。 
請輸入endpoint:http://oss-cn-shenzhen.aliyuncs.com 
請輸入accessKeyID:yourAccessKeyID 
請輸入accessKeySecret:yourAccessKeySecret 
請輸入stsToken: # 非必要參數,可以直接回車跳過  

如果上述過程配置有誤,可以修改.ossutilconfig文件

vi /home/deploy/.ossutilconfig 

使用方式

參數說明:
./ossutil64 cp <目標文件(文件夾)> <oss路徑> [-u|-r|....等可選參數]
cp: 貝命令,將本地文件拷貝到oss
-u: cp的可選參數,表示對於相同文件名的文件,如果oss上的modifyTime早於本地的modifyTime則執行覆蓋操作
-r: cp的可選參數,表示可以上傳文件夾(包含文件夾中的所有文件以及子文件夾遍歷上傳)
--exclude: 過了掉某些文件,支持通配符

<oss路徑>組成: oss://<bucket名稱>/[你在bucket中建立的目錄]
目錄可以沒有,沒有的話直接拷貝到bucket根目錄

參考阿里雲官方文檔:
https://help.aliyun.com/document_detail/50452.html

只要再編譯腳本中添加如下命令就達到了我的目的:

./ossutil64 cp /home/resource-files/ oss://your-bucket-name/your-dir --exclude "*.html" --exclude "*.htm" -ur










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章