#!/bin/bash #usage: # ./ossUpgrade.sh "stage/ztsjxxxt/frontEnd/" html.zip ztsjxxxt # set -xt PATH=PATH:/usr/bin:/usr/sbin:/usr/local/bin ossPath=$1 #末尾别忘了加/ fileName=$2 preName="${fileName%.*}" basePath=/tmp/autoDeploy if [ -n $3 ]; then basePath=$3 fi if [ ! -d $basePath ]; then mkdir $basePath -p fi function compare(){ cd $basePath if [ ! -f ${fileName}_oss.info ]; then touch ${fileName}_oss.info fi echo upstream ossPath: oss://${ossPath}$fileName ( ossutil stat oss://${ossPath}$fileName | head -n -2) > ${fileName}_upstream_oss.info upstreamOssInfoMd5=$(md5sum ${fileName}_upstream_oss.info) upstreamOssInfoMd5="${upstreamOssInfoMd5% *}" locOssInfoMd5=$(md5sum ${fileName}_oss.info) locOssInfoMd5="${locOssInfoMd5% *}" echo "upstream $fileName ossInfo md5: |${upstreamOssInfoMd5}|" echo "localTep $fileName ossInfo md5: |${locOssInfoMd5}|" echo "upstream:" $(pwd)/${fileName}_upstream_oss.info cat ${fileName}_upstream_oss.info echo "localTem:" $(pwd)/${fileName}_oss.info cat ${fileName}_oss.info if [ "${upstreamOssInfoMd5}" = "${locOssInfoMd5}" ];then return 0 else return 1 fi } function downloadFromOss(){ cd $basePath echo "fileName: " $fileName ossutil cp -f oss://${ossPath}${fileName} ${fileName}_tmp rm $fileName mv ${fileName}_tmp $fileName ( ossutil stat oss://${ossPath}$fileName | head -n -2) > ${fileName}_oss.info } function main(){ echo " " echo "start ossUpgrade service" compare result=$? if [ $result = 0 ];then # uploadLog echo "local temp file $fileName is same with oss file,no need to replace" echo "end ossUpgrade service" echo " " exit 0 else echo "local temp file $fileName is different from oss, will download..." fi downloadFromOss echo "end ossUpgrade service" echo " " } main