#!/bin/bash

down=$1
up=$2
cmd=$3
delay=$4 

[ -z "$3" ] && 
   echo -e "$0 will pause and restart a cmd with killall [cmd] based on load avg in loop.\n\nUsage: $0 stop-trigger-load start-trigger-load cmdname-in-proc-table [delay in s]" &&
   exit 0

delay=30
[ -n "$4" ] && delay=$4

ionice -c3 -p `pgrep rsync`			# always do this

while :; do

 load=`cut -d "." -f1 /proc/loadavg`

 echo -n load `uptime` $load" ";

 if [ "$load" -lt "$up" ]; then killall -CONT $cmd; echo -n "$cmd cont.";
 else 
   if [ "$load" -ge "$down" ]; then killall -STOP $cmd; echo -n "$cmd  * STOP."; 
   else echo -n "  -no action-"; fi
 fi 

 echo

 sleep $delay
done
