On Fri, Jun 01, 2012 at 03:47:21PM +1000, David Diggles wrote: [ snip ] > sleep $s [ snip ]
Arghh.. ;-) sleep $seconds here Anyway, you get the idea. #!/bin/sh remaining=$1;shift cmd=$@ lock=/var/run/$(basename $1).lock [ -f $lock ] || { touch $lock while [ $remaining -gt 0 ]; do seconds=$(($RANDOM % $remaining)) echo $(date) $seconds >> $lock sleep $seconds $cmd && return || remaining=$(($remaining - $seconds)) done rm $lock }