#!/bin/bash #usage: # ./ossUpgrade.sh "stage/ztsjxxxt/frontEnd/" html.zip ztsjxxxt PATH=PATH:/usr/bin:/usr/sbin ossPath=$1 #末尾别忘了加/ fileName=$2 projectName="${fileName%.*}" basePath=/tmp/autoDeploy function compare(){ cd $basePath if [ ! -f ${projectName}_oss.info ]; then touch ${projectName}_oss.info fi (~/ossutil stat oss://${ossPath}$fileName | head -n -2) > ${projectName}_upstream_oss.info upstreamOssInfoMd5=$(md5sum ${projectName}_upstream_oss.info) upstreamOssInfoMd5="${upstreamOssInfoMd5% *}" locOssInfoMd5=$(md5sum ${projectName}_oss.info) locOssInfoMd5="${locOssInfoMd5% *}" echo "upstream $fileName ossInfo md5: |${upstreamOssInfoMd5}|" echo "localTep $fileName ossInfo md5: |${locOssInfoMd5}|" echo "upstream:" cat ${projectName}_upstream_oss.info echo "localTem:" cat ${projectName}_oss.info if [ "${upstreamOssInfoMd5}" = "${locOssInfoMd5}" ];then return 0 else return 1 fi } function downloadFromOss(){ cd $basePath echo "fileName: " $fileName ~/ossutil cp oss://${ossPath}${fileName} ${fileName}_tmp rm $fileName mv ${fileName}_tmp $fileName (~/ossutil stat oss://${ossPath}$fileName | head -n -2) > ${projectName}_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