[7] | 1 | #!/bin/sh
|
---|
| 2 | # save-jobstats.sh -- save uslims3_data job_statistics.xml files
|
---|
| 3 |
|
---|
| 4 | BASEDIR=/srv/www/htdocs/uslims3/uslims3_data
|
---|
| 5 | SAVEDIR=/srv/www/htdocs/uslims3/job_stats
|
---|
| 6 | STATFILE=job_statistics.xml
|
---|
| 7 | if [ ! -d ${SAVEDIR} ]; then
|
---|
| 8 | mkdir ${SAVEDIR}
|
---|
| 9 | fi
|
---|
| 10 | HOSTNAME=`uname -n`
|
---|
| 11 | echo "HOSTNAME=${HOSTNAME}"
|
---|
| 12 |
|
---|
| 13 | ##JSTIME=`stat ${SAVEDIR} -c %Y`
|
---|
| 14 | JSTIME=`date +%s`
|
---|
| 15 | ##echo "JSTIME=${JSTIME}"
|
---|
| 16 | NCFILE=0
|
---|
| 17 | NMFILE=0
|
---|
| 18 | ONEDAY=86400 # 24-hours worth of seconds
|
---|
| 19 |
|
---|
| 20 | # Get uslims3_data subdirectories
|
---|
| 21 | cd ${BASEDIR}
|
---|
| 22 | DATADIRS=`ls -rtF|tail -500|grep '/'`
|
---|
| 23 | ##DATADIRS=`ls -rtF|tail -200|grep '/'`
|
---|
| 24 |
|
---|
| 25 | for D in $DATADIRS ; do
|
---|
| 26 | # Change to job subdirectory
|
---|
| 27 | JDTIME=`stat ${D} -c %Y`
|
---|
| 28 | AGE=`expr ${JSTIME} - ${JDTIME}`
|
---|
| 29 | ##echo "D=${D}"
|
---|
| 30 | ##echo " JDTIME=${JDTIME}"
|
---|
| 31 | ##echo " AGE=${AGE}"
|
---|
| 32 |
|
---|
| 33 | # Only process directories less than a day old
|
---|
| 34 | if [ ${AGE} -lt ${ONEDAY} ]; then
|
---|
| 35 | JDDATE=`stat ${D} -c %y | cut -d: -f1-2 | sed -e 's/ /-/' -e 's/://g'`
|
---|
| 36 | cd ${BASEDIR}/${D}
|
---|
| 37 | ##echo " +++Less than 1 day old+++"
|
---|
| 38 |
|
---|
| 39 | if [ -f ${STATFILE} ]; then
|
---|
| 40 | # Build job stats if job_statistics.xml exists
|
---|
| 41 | PART1A=`grep cluster= ${STATFILE}|sed -e 's/^.*cluster=\"//'|cut -d'"' -f1`
|
---|
| 42 | PART1A=`echo ${PART1A} | sed -e 's@-@_@'`
|
---|
| 43 | PART1B=`echo ${D} | cut -d'-' -f1`
|
---|
| 44 | PART1=${PART1A}-${PART1B}
|
---|
| 45 | PART2=`grep submittime= ${STATFILE}|sed -e 's/^.*submittime=\"//'|cut -d' ' -f1`
|
---|
| 46 | PART2=`echo ${PART2}|sed -e 's/\-//g'`
|
---|
| 47 | SOUTFILE=${SAVEDIR}/${PART1}-${PART2}-${STATFILE}
|
---|
| 48 | ##echo "we can build: ${SOUTFILE}"
|
---|
| 49 | if [ ! -f ${SOUTFILE} ]; then
|
---|
| 50 | echo "cp -p ${STATFILE} ${SOUTFILE}"
|
---|
| 51 | cp -p ${STATFILE} ${SOUTFILE}
|
---|
| 52 | NCFILE=`expr ${NCFILE} + 1`
|
---|
| 53 | fi
|
---|
| 54 | else
|
---|
| 55 | CLUST=`grep shortname ${BASEDIR}/${D}hpcr*xml|cut -d'"' -f4`
|
---|
| 56 | echo "job_statistics.xml in ${D} [ ${JDDATE} ${CLUST} ] does not exist!"
|
---|
| 57 | NMFILE=`expr ${NMFILE} + 1`
|
---|
| 58 | fi
|
---|
| 59 | fi
|
---|
| 60 |
|
---|
| 61 | # Change back to ./uslims3_data
|
---|
| 62 | cd ${BASEDIR}
|
---|
| 63 | done
|
---|
| 64 |
|
---|
| 65 | echo "job_stats+++ Files Created: ${NCFILE}"
|
---|
| 66 | echo "jobxml/stats Files Missing: ${NMFILE} (aborted,running jobs?)"
|
---|
| 67 |
|
---|