diff options
Diffstat (limited to 'abs/core-testing/linhes-scripts/idle.sh')
-rwxr-xr-x | abs/core-testing/linhes-scripts/idle.sh | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/abs/core-testing/linhes-scripts/idle.sh b/abs/core-testing/linhes-scripts/idle.sh deleted file mode 100755 index f95b9fa..0000000 --- a/abs/core-testing/linhes-scripts/idle.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/bash - -usage () { - echo "Usage: $0 [-h] [-s] [-t <minutes_needed>]" - echo - echo "-h - Print this help/usage message and quit" - echo "-s - Run silently (default is verbose)" - echo "-t - Minutes of idle time needed (default is 20)" - echo "-v - Be more verbose for debugging" - echo - echo "Silent mode is recommended for use in cron jobs or scripts." - exit $1 -} - -msg () { # A status reporting function - [ "$VERBOSE" -ne 0 ] && echo "$*" -} - -mysql_cmd () { - /usr/bin/mysql -u root mythconverg -sBe "$*" -} - -# Command line argument handling -VERBOSE=1 -TIME_BEFORE=20 -TIME_AFTER=5 # Only adjustable by editing here - -while getopts "hst:v" OPT ; do - case $OPT in - h) usage 0 ;; - s) VERBOSE=0 ;; - t) TIME_BEFORE=$OPTARG ;; - v) VERBOSE=2 ;; - *) usage 1 ;; - esac -done -# Check for extra cruft on the command line... -shift $(($OPTIND - 1)) -[ -n "$*" ] && usage 1 - -msg "Checking what MythTV is doing now or plans within $TIME_BEFORE minutes..." -msg - -/usr/bin/mythshutdown -s 1 -BUSY="$?" -msg "mythshutdown returned $BUSY" -# Ignore certain non-zero flag values -BUSY=$(($BUSY & 0x2F)) - -SCHEMALOCK=$(mysql_cmd "select count(*) from schemalock") -msg "schemalock $SCHEMALOCK" - -JOBS=$(mysql_cmd "select count(*) from jobqueue where status = 4") -msg "running jobs $JOBS" - -INUSE=$(mysql_cmd "select count(*) from inuseprograms") -msg "inuse programs $INUSE" - -POTENTIAL=$(mysql_cmd "select count(*) from recordmatch as rm, program as p - where rm.chanid = p.chanid and rm.starttime = p.starttime - and rm.starttime < now() + interval $TIME_BEFORE minute - and now() < p.endtime + interval $TIME_AFTER minute") -msg "potential recordings $POTENTIAL" -# See if any of the potential upcoming recordings are real. -# This is ugly, but only the backend knows what programs it really -# plans to record or ignore, so we can't just check the DB. :-( -if [ "$VERBOSE" -ge 2 ] ; then - mysql_cmd "select p.starttime, p.endtime, p.title, subtitle - from recordmatch as rm, program as p - where rm.chanid = p.chanid and rm.starttime = p.starttime - and rm.starttime < now() + interval $TIME_BEFORE minute - and now() < p.endtime + interval $TIME_AFTER minute - order by p.starttime, p.endtime" -fi -UPCOMING=$(/usr/bin/mythbackend --printsched 2>&1 | - /bin/awk -v potential=$POTENTIAL ' - BEGIN {item=-1;real=0} - /--- print list start ---/,/--- print list end ---/ { - if (item>0 && item<=potential && substr($0,70,1) ~ "[0-9]") real+=1; - item += 1; - } - END {print real} -') -msg "planned recordings $UPCOMING" -if [ "$VERBOSE" -ge 2 ] ; then - /usr/bin/mythbackend --printsched 2>&1 | - /bin/awk -v potential=$POTENTIAL ' - BEGIN {item=-1} - /--- print list start ---/,/--- print list end ---/ { - if (item>0 && item<=potential) print $0; - item += 1; - }' -fi -activities=$(($BUSY + $SCHEMALOCK + $JOBS + $INUSE + $UPCOMING)) -msg -if [ "$activities" -eq 0 ] ; then - msg "System is idle" - exit 0 -else - msg "System is busy" - exit 1 -fi |