#!/bin/bash #usage: # ./ossUpgrade.sh "stage/ztsjxxxt/frontEnd/" html.zip ztsjxxxt ossPath=$1 #末尾别忘了加/ fileName=$2 projectName="${fileName%.*}" PATH=PATH:/usr/bin:/usr/sbin cd ~ ./ossutil stat oss://ztupload/${ossPath}$fileName > ${projectName}_oss.info ossInfo=$(cat ${projectName}_oss.info) out=${ossInfo##*Etag} out=${out%Last*} out=${out#*: } ossSum=${out,,} ossSum="${ossSum% *}" echo "oss md5:"$ossSum result=$(echo $ossInfo | grep "error") if [[ "$result" != "" ]]; then echo $result exit 0 fi curSum=$(md5sum $fileName) curSum="${curSum% *}" if [ "${curSum}" = "" ];then ./ossutil cp oss://ztupload/${ossPath}$fileName > ${fileName} curSum=$(md5sum $fileName) curSum="${curSum% *}" fi echo "local file $fileName md5:"$curSum all=$ossSum echo "oriMd5: "$all all=$curSum echo "curMd5: "$all if [ ${ossSum} = ${curSum} ];then echo "destination file is same with oss file,no need to replace" exit 0 else echo "local file $fileName is different from oss, will download..." fi rm $fileName echo "fileName: " $fileName ./ossutil cp oss://ztupload/${ossPath}${fileName} ${fileName} echo "replaced"