Linux目錄同步到阿里雲OSS工具ossutil
背景
最近公司服務用戶激增,常規文件服務器不能滿足需求,嚴重影響性能,決定將靜態文件遷移到阿里雲OSS,用來解決性能問題,提高用戶體驗。畢竟之前文件服務器有很多歷史文件,需要同步到OSS上,但是研究了很多,大佬使用Python腳本,感覺體驗很是一般,后來發現阿里官網提供的ossutil體驗還是很不錯
下載安裝
官網有很詳細的教程
1、切換到安裝目錄
cd /data/app
//1、運行以下命令下載ossutil。
wget http://gosspublic.alicdn.com/ossutil/1.7.6/ossutil64
//2、運行以下命令修改文件執行權限。
chmod 755 ossutil64
2、配置
通過交互式命令生成配置文件:
./ossutil64 config
請輸入配置文件路徑: # 直接回車跳過,使用默認配置文件即可:/home/deploy/.ossutilconfig (deploy是我當前的登錄用戶),如果你設置為其它路徑,在使用命令時需使用--config-file參數指定路徑
#下述配置,回車將跳過相關配置項的設置,配置項的具體含義,請使用"help config"命令查看。
請輸入endpoint:http://oss-cn-shenzhen.aliyuncs.com
請輸入accessKeyID:yourAccessKeyID
請輸入accessKeySecret:yourAccessKeySecret
請輸入stsToken: # 非必要參數,可以直接回車跳過
如果上述過程配置有誤,可以修改.ossutilconfig
文件
vi /data/app/.ossutilconfig
3、使用方式
參數說明:
./ossutil64 cp <目標文件(文件夾)> <oss路徑> [-u|-r|....等可選參數]
cp: 貝命令,將本地文件拷貝到oss
-u: cp的可選參數,表示對於相同文件名的文件,如果oss上的modifyTime早於本地的modifyTime則執行覆蓋操作
-r: cp的可選參數,表示可以上傳文件夾(包含文件夾中的所有文件以及子文件夾遍歷上傳)
--exclude: 過了掉某些文件,支持通配符
<oss路徑>組成: oss://<bucket名稱>/[你在bucket中建立的目錄]
目錄可以沒有,沒有的話直接拷貝到bucket根目錄
創建Bucket
./ossutil64 mb oss://bucket
上傳文件
./ossutil64 cp local_file oss://bucket
下載文件
./ossutil64 cp cloud_url local_file
上傳多個使用
./ossutil64 cp /home/resource-files/ oss://your-bucket-name/your-dir --exclude "*.html" --exclude "*.htm" -ur
關注我的微信公眾號