#!/bin/bash #stop proc killP() { pkill $1 ps aux | grep "$1" | grep -q -v grep PROCESS_STATUS=$? if [ $PROCESS_STATUS -ne 0 ]; then pkill $1 fi } startSdkCompareWithOneParam(){ number=`ps -ef | grep "sdkCompare" | grep -v grep | wc -l` if [ $number -ne 2 ]; then killP sdkCompare sleep 2 date +%D-%T" sdkCompare start" nohup ./sdkCompare $1 >/dev/null 2>&1 & nohup ./sdkCompare $1 -target=es >/dev/null 2>&1 & return 1 else echo "sdkCompare is exists">>upgrade.out return 0 fi } cd /opt/vasystem/bin patchPath=$1 zipPath=$2 chunkPath=$3 files=$(ls $patchPath) echo "patchPath: " $patchPath>>upgrade.out if [ ! -d $patchPath ]; then echo "$patchPath not exist,patch update fail">>upgrade.out else for item in $files do if [ -f $patchPath/$item ]; then echo "start update proc ${item}">>upgrade.out killP $item sleep 2 cp $patchPath/$item /opt/vasystem/bin chmod +x /opt/vasystem/bin/$item if [ "$item" = "sdkCompare" ]; then startSdkCompareWithOneParam -e=pro echo "update ${item} success">>upgrade.out else nohup ./$item >/dev/null 2>&1 & echo "update ${item} success">>upgrade.out fi else if [ "$item" = "dist" ]; then echo "update web dist">>upgrade.out cp -r $patchPath/$item /opt/vasystem/web/dist else echo "unknown directory ${item}">>upgrade.out fi fi done fi echo "exec rm -rf ${patchPath} ${zipPath} ${chunkPath}">>upgrade.out rm -rf $patchPath $zipPath $chunkPath echo "rm success">>upgrade.out exit 0