From dc5c8c9f405befd2cd866ce9374d6474b006ee94 Mon Sep 17 00:00:00 2001 From: "zhangkun9038@dingtalk.com" Date: Sun, 11 Sep 2022 14:33:57 +0000 Subject: [PATCH] oss compoare update --- checkService.sh | 8 ++++++++ frontEndUpgrade.sh | 7 +++++++ ossUpgrade.sh | 47 +++++++++++++++++----------------------------- 3 files changed, 32 insertions(+), 30 deletions(-) diff --git a/checkService.sh b/checkService.sh index 07b2525..ab00322 100755 --- a/checkService.sh +++ b/checkService.sh @@ -9,6 +9,8 @@ projectPath=$2 serviceName=$3 workPath=$4 ossLogPath=$5 +preName="${fileName%.*}" + PATH=PATH:/usr/bin:/usr/sbin @@ -62,6 +64,7 @@ function compare(){ #journalctl -n 1000 -xe -t autoDeploy > ${workPath}/autoDeploy.log return 0 else + echo $oriSum > ${workPath}/${preName}_md5.txt return 1 fi } @@ -73,6 +76,11 @@ function restart(){ exit 0 fi echo "ok: systemctl restart ${serviceName} success!" + ossInfoTempPath=${workPath}/${preName}_oss.info + ossInfoProjectPath=${projectPath}/${preName}_oss.info + rm -f ${ossInfoProjectPath} + cp ${ossInfoTempPath} ${projectPath} + cp ${workPath}/${preName}_md5.txt ${projectPath} } function main(){ diff --git a/frontEndUpgrade.sh b/frontEndUpgrade.sh index 497eb24..3034c5d 100755 --- a/frontEndUpgrade.sh +++ b/frontEndUpgrade.sh @@ -10,6 +10,7 @@ ossLogPath=$4 PATH=PATH:/usr/bin:/usr/sbin projectName="${fileName%.*}" # html, zhuize user="${workPath##*/}" +preName="${fileName%.*}" function uploadLog() { @@ -39,6 +40,11 @@ function extractHere() { echo "user: $user" chgrp $user $projectName -R chown $user $projectName -R + cp ${workPath}/${preName}_oss.info $projectName + sleep 5 + md5Sum=$(md5sum $fileName) + md5Sum="${md5Sum% *}" + echo ${md5Sum} > ${projectName}/${preName}_md5.txt } function init(){ @@ -122,6 +128,7 @@ function main() { echo "ok: replaced done" else echo "error: replace faild" + exit 0 fi uploadLog t autoDeploy 100 echo " " diff --git a/ossUpgrade.sh b/ossUpgrade.sh index 86d566d..36dc0c6 100755 --- a/ossUpgrade.sh +++ b/ossUpgrade.sh @@ -10,36 +10,23 @@ projectName="${fileName%.*}" function compare(){ cd ~ - ./ossutil stat oss://ztupload/${ossPath}$fileName > ${projectName}_oss.info - ossInfo=$(cat ${projectName}_oss.info) - echo "${fileName} in oss info: " - echo " " $ossInfo - out=${ossInfo##*Length} - out=${out%Content-Md5*} - out=${out#*: } - ossLength=${out,,} - ossLength="${ossLength% *}" - ossLength=$(echo $ossLength) - ossLength="${ossLength%% *}" - echo "ossLength " "|"${ossLength}"|" - result=$(echo $ossInfo | grep "error") - if [[ "$result" != "" ]]; then - echo $result - exit 0 + if [ ! -f ${projectName}_oss.info ]; then + touch ${projectName}_oss.info fi - - curLength=$(ls -l ${fileName} | awk '{print $5}') - if [ "${curLength}" = "" ];then - echo "${fileName} not exist, download it" - ./ossutil cp oss://ztupload/${ossPath}$fileName ${fileName} - curLength=$(ls -l ${fileName} | awk '{print $5}') - curLength=$(sed -i 's/\n//g' $curLength) - fi - echo "ossLength ${fileName} : "$ossLength - echo "curLength ${fileName} : "$curLength - if [ "${ossLength}" = "${curLength}" ];then + (./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 + else return 1 fi } @@ -49,6 +36,7 @@ function downloadFromOss(){ 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(){ @@ -76,10 +64,9 @@ function main(){ echo "start ossUpgrade service" compare result=$? - echo "result $result" if [ $result = 0 ];then # uploadLog - echo "local temp file is same with oss file,no need to replace" + echo "local temp file $fileName is same with oss file,no need to replace" exit 0 echo "end ossUpgrade service" echo " "