linux shell脚本

来源:互联网 发布:淘宝和阿里巴巴哪个好 编辑:程序博客网 时间:2024/06/14 22:12
#!/bin/ship=$1user=$2password=$3MAILHTMLFILE=testresult.htmlETLTASKTOTALRESULT=testcaseetltasktotalresult.logETLTASKFAILURERESULT=testcaseetltaskfailureresult.logSMOKETESTCASESSAVEDIR=/home/smoketestcasesSUCCESS=0FAILED=1function checkVmaxRanProcess(){sshFileName=TestCase-check_vmaxran_process.sh/usr/bin/expect <<EOF  spawn ssh $user@$ip \[\ ! -d $SMOKETESTCASESSAVEDIR \]  && mkdir $SMOKETESTCASESSAVEDIR  expect {      "$ip's password:" { send "$password\r"; exp_continue}      }    spawn scp $sshFileName $user@$ip:$SMOKETESTCASESSAVEDIR  expect {      "$ip's password:" { send "$password\r"; exp_continue}      }     spawn scp thread_name_config.xml $user@$ip:$SMOKETESTCASESSAVEDIR  expect {      "$ip's password:" { send "$password\r"; exp_continue}      }  spawn ssh $user@$ip chmod 755 $SMOKETESTCASESSAVEDIR/$sshFileName && sh $SMOKETESTCASESSAVEDIR/$sshFileName  expect {      "$ip's password:" { send "$password\r"; exp_continue}      }     spawn scp $user@$ip:$SMOKETESTCASESSAVEDIR/checkprojectrun.log $SMOKETESTCASESSAVEDIR  expect {      "$ip's password:" { send "$password\r"; exp_continue}      }EOF  if [ "$?"x = "$FAILED"x ]; then       return $FAILED  fi  return $SUCCESS}function checkMetadataTaskStatus(){sshFileName=TestCase-execute_metadata_task_sql.sh/usr/bin/expect <<EOF  spawn scp $sshFileName $user@$ip:$SMOKETESTCASESSAVEDIR  expect {    "$ip's password:" { send "$password\r"; exp_continue}   }  spawn ssh $user@$ip chmod 755 $SMOKETESTCASESSAVEDIR/$sshFileName  expect {   "$ip's password:" { send "$password\r"; exp_continue}  }  spawn ssh -t $ip  "source  $SMOKETESTCASESSAVEDIR/$sshFileName $SMOKETESTCASESSAVEDIR"   expect {    "$ip's password:" { send "$password\r"; exp_continue}  }  spawn scp $user@$ip:$SMOKETESTCASESSAVEDIR/EtlTask*.log $SMOKETESTCASESSAVEDIR  expect {    "$ip's password:" { send "$password\r"; exp_continue}  }EOF  if [ "$?"x = "$FAILED"x ]; then     return $FAILED  fi  return $SUCCESS  }function __main__(){      isTestSetSuccess=0    if [ ! -d $SMOKETESTCASESSAVEDIR ];then mkdir $SMOKETESTCASESSAVEDIR;fi    testcaseList=(checkVmaxRanProcess checkMetadataTaskStatus)    for ((casenum=0;casenum<${#testcaseList[@]};casenum++))    do       ${testcaseList[casenum]}       if [ "$?"x = "$FAILED"x ]; then          echo "[DevOps_Error]:Test case:${testcaseList[casenum]} run failed!!!"          isTestSetSuccess=$FAILED       fi    done    if [ -x "$SMOKETESTCASESSAVEDIR/$MAILHTMLFILE" ];then         rm -rf $SMOKETESTCASESSAVEDIR/$MAILHTMLFILE    fi    #paramter notes:    #1.outputfilename    #2.output log filename list    #3.testcase name list       python ./mail/GenerateMailInfo.py $SMOKETESTCASESSAVEDIR/$MAILHTMLFILE "$SMOKETESTCASESSAVEDIR/checkprojectrun.log,$SMOKETESTCASESSAVEDIR/EtlTaskMetadataResult.log" "VmaxProcessStatusCheck,MetadataTaskResult"    isGenerateHtmlSucess=$?    if [ "$isTestSetSuccess"x = "$FAILED"x ] || [ "$isGenerateHtmlSucess"x = "$FAILED"x ]; then          exit 1    fi    exit 0}__main__
0 0
原创粉丝点击