Linux---生成上傳Token以及上傳的腳本

更具七牛提供的上傳的接口,可以根據接口來實現一些腳本化的功能:

1.生成上傳token的腳本(這裏命名爲up):

#!/usr/bin/env bash
if [ "$1" == "" ];then
    let time=$(date +%s)+3600*24
else
    let time=$(date +%s)+$1
fi

data="{\"scope\":\"javademo\",\"deadline\":$time}"
dat=$(date -r $time)

ak="xxxxxxxx"
sk="xxxxxxxx"

data=$(echo $data | base64 | tr "+/" "-_")
auth=$(echo -en $data | openssl sha1 -hmac $sk -binary | base64 | tr "+/" "-_")
echo "$ak:$auth:$data";

用法如下(up後的參數表示設置過期時間):
這裏寫圖片描述

2.可以指定上傳域名或節點用來上傳的腳本(這裏命名爲upload):

#!/usr/bin/env bash
if [ "$1" = "" ]; then
    echo 'must specify $1 eg: upload upload.qiniu.com'
    exit 1
else
    dd if=/dev/zero of=10M.file bs=10m count=1
    token=$(up)
    echo 'UpToken: '$token
fi

if [ "$1" = "upload.qiniu.com" ]; then
    echo 'curl -vosa upload.qiniu.com -F"key=upload.file" -F"token=$token" -F"file=@$10M.file"'
    curl -vosa $1 -F "key=10M.file" -F"token=$token" -F"[email protected]" -x $2:80
elif [ $1 = "up.qbox.me" ] ;then
    echo 'curl -vosa up.qbox.me -F"key="upqbox.file" -F"token=$token" -F"[email protected]"'
    curl -vosa $1 -F "key=10M.file" -F"token=$token" -F"[email protected]"
elif [ $1 = "up.qiniu.com" ] ;then
    echo 'curl -vosa  up.qiniu.com -F"token=$token" -F"[email protected]"'
    curl -vosa $1 -F "key=10M.file" -F "key=10M.file" -F"token=$token" -F"[email protected]"
fi

rmfile=10M.file
echo "刪除"$rmfile
rm -f sa
rm $rmfile

用法如下(upload後的參數表示設置上傳的域名):
這裏寫圖片描述
另外,還可以設置第2個參數表示指定從哪個節點上傳, eg:
upload upload.qiniu.com 183.136.139.10

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