#! /usr/bin/sh set -xva ############################################################ # NAME: DAVID MA # DATE: August 6, 2002 # PROGRAM : jobview_init # Description: This program is to initialize the jobview. # Times are in Z time. # # Script history log: # 2002-10-11 Implemented into production on IBM # 2003-02-25 Added the counting of jobs. It makes sure # does not miss any jobs. # 2004-01-19 Added the nodes to extract the node info for # program lljobs1 # ########################################################## # echo "STARTING THE JOBVIEW INIT" ltoday=`date | cut -d " " -f 3` ntoday=`date -u | cut -d " " -f 3` qtoday=`date | cut -d " " -f 4` ptoday=`date -u | cut -d " " -f 4` ltoday=${ltoday:-$qtoday} ntoday=${ntoday:-$ptoday} EST=`date | grep EST` if [ "$EST" = "EST" ] then LT=5 else LT=4 fi Qmach="${envir}" if [ "$Qmach" = "prod" ] then oQmach="dev" else oQmach="prod" fi cyr=`date +%Y` cmo=`date +%m` cda=`date -u +%d` ctoday=$cyr$cmo$cda cda=`date -u +%d` chr=`date -u +%H` cmin=`date -u +%M` csec=`date -u +%S` ldate=`date +%Y%m%d` zdate=`date -u +%Y%m%d` zdatem1=`sh /nwprod/util/ush/finddate.sh $zdate d-1` ((ctime=${chr}*60+${cmin}+${csec}/60)) ((zctime=$ctime+1440)) if [ $ltoday -ne $ntoday ] then ((ctime=${ctime} + 1440)) fi jhist=${JobHist} $GetJobs ${jhist} ${tfile} ${jobsrun} ${jobsnow} ${zctime}".4444" # #-------------------------------------------------------------------------------- # # ---- Get loadleveler info qi=0 ${llqjobs} grep nwprod lljob.log | egrep -iv "^t|_test" | sed 's/nwprod //' | sort -k1.1,1 > lljobtmp grep climprod lljob.log | egrep -iv "^t|_test" | sed 's/climprod //' | sort -k1.1,1 >> lljobtmp grep -v hurpara lljobtmp > lljobtmp1 sort -k1 lljobtmp1 > lljobtmp cat lljobtmp export COMIN COMOUT ushscript com zctime LT tfile JobHist export DATA ddat sjobs stimes smain ldate zdate zdatem1 Qmach export JobLName JobDate JobTime JobZTime JobDTime JobOFile JobStat JobLTime export JobName JobPath JobsPath JobssPath JobPID JobIDchar JobType JobNode export qxline ctime chr jhist IDLEjobs IDLEjobsbkup export ddat JobHist qmach lddat JobNumNode JobNodeClass node_file old_node_file cat /dev/null $node_file lc=`cat lljobtmp | wc -l` touch lljobtmp.lst echo "Job Count = $lc" if [ $lc -gt 0 ] then qwl=1 while [ ${qwl} -le ${lc} ] do qlogline=`head -${qwl} lljobtmp | tail -1` ((qwl=$qwl+1)) # ((qi=$qi+1)) qxline=$qlogline JobType=`echo ${qxline} | grep -i para` JobType=${JobType:-"XXXX"} if [ "$JobType" = "XXXX" ] then JobType=`echo ${qxline} | grep -i transfer` JobType=${JobType:-"XXXX"} if [ "$JobType" = "XXXX" ] then JobName=`echo ${qxline} | cut -d " " -f 1` else JobName=`echo ${qxline} | cut -d " " -f 1 | cut -d "_" -f 2` fi else JobName=`echo ${qxline} | grep -i para | cut -d " " -f 1 | sed 's/_PARA/_para/' | sed 's/_para//'` fi JobLName=`echo ${qxline} | cut -d " " -f 1 | sed 's/transfer\//transfer_/'` # JobType=`echo ${qxline} | grep -i "dev"` JobType=${JobType:-"prod"} if [ "$JobType" = "prod" ] then JobType="" JobType=`echo ${qxline} | egrep -i "clim|para|test"` JobType=${JobType:-"prod"} else JobType="dev" fi # ---get all variables------------------------------- JobLTime=`echo ${qxline} | cut -d " " -f 2` JobDate=`echo ${qxline} | cut -d " " -f 3` JobTime=`echo ${qxline} | cut -d " " -f 4` JobZTime=`echo ${qxline} | cut -d " " -f 5` JobNode=`echo ${qxline} | cut -d "|" -f 2` JobNumNode=`echo ${qxline} | cut -d " " -f 7` JobNodeClass=`echo ${qxline} | cut -d "|" -f 1 | cut -d " " -f 12` echo "$JobLName $JobNumNode $JobNodeClass" qdate=`echo $JobDate | cut -c 7-8` ((qdate=$qdate)) if [ $qdate -ne $ltoday ] then ((JobZTime = ${JobZTime} + 1440)) fi # echo "check $qdate $ltoday $ntoday" >> ttsai #cat ttsai JobDTime=`echo ${qxline} | cut -d " " -f 6` JobOFile=`echo ${qxline} | cut -d " " -f 10` JobStat=`echo ${qxline} | cut -d " " -f 11` # JobPath=`echo ${JobOFile%%+([a-z]|[A-Z]|[0-9]|[.]|[_])}` JobsPath=`echo ${JobPath%[/]}` JobssPath=`echo ${JobsPath%%+([a-z]|[A-Z]|[0-9]|[.]|[_])}` JobssPath=`echo ${JobssPath%[/]}` if [ "${JobName}" != "jjobview_${Qmach}" -a "${JobName}" != "jjobview_${oQmach}" ] then JobPID=`echo ${JobOFile} | cut -d "." -f 2` JobIDchar=`echo ${JobPID} | cut -c 1` JobPID=`echo ${JobPID} | sed 's/^[a-zA-Z0]//'` else JobPID="jobview.o" fi ${sjobs} done echo "$lc" > errfile1 cp errfile1 ${COMOUT}/. fi