#!/bin/bash #usage: # ./ossUpgrade.sh "stage/ztsjxxxt/frontEnd/" html.zip ztsjxxxt PATH=PATH:/usr/bin:/usr/sbin ossPath=$1 #末尾别忘了加/ fileName=$2 serviceName=$3 projectName="${fileName%.*}" function compare(){ cd ~ if [ ! -f ${projectName}_oss.info ]; then touch ${projectName}_oss.info fi (./ossutil stat oss://ztupload/${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 ~ rm $fileName echo "fileName: " $fileName ./ossutil cp oss://ztupload/${ossPath}${fileName} ${fileName} (./ossutil stat oss://ztupload/${ossPath}$fileName | head -n -2) > ${projectName}_oss.info } # function uploadLog(){ # logPath=${ossPath%/*} # logPath=${logPath%/*}/logs/ # osslogPath=oss://ztupload/${logPath}autoDeploy.log # journalctl -n 1000 -xe -t autoDeploy > ~/autoDeploy.log # if [ $? = 0 ];then # echo "uploaded log to ${osslogPath}" # fi # } # function isFrontEnd(){ # result=$(echo $fileName | grep ".zip") # if [[ "$result" != "" ]]; then # return 0 # else # return 1 # fi # } 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" exit 0 echo "end ossUpgrade service" echo " " else echo "local temp file $fileName is different from oss, will download..." fi downloadFromOss # uploadLog echo "local temp file replaced" # isFrontEnd # result=$? # if [ $result = 0 ];then # preName=${fileName%/*} # echo "frontEnd package ${preName} will cover to projectPath" # # fi echo "end ossUpgrade service" echo " " } main