#!/bin/bash # example: I=10 radar=00004 bomsnarf # defaults to Melbourne 512km and 6 minute interval mkdir -p imgs ; cd imgs : ${I:=6} : ${radar:=021} : ${count:=10} : ${site:=http://www.bom.gov.au} : ${path:=/radar/IDR${radar}.T.} : ${pre:="$site$path"} : ${ext:=.png} Z=$[$I * 60 - 60] w=${pre##*/} w=${w%.} D=`dtu` S=`date2secs "$D"` get() { N=`secs2ndate "$S"` D=`secs2date "$S"` U="$pre$N$ext" F=${U##*/} already=0 # printf "%-10s %-s $U " "$w" "$D" printf "%-10s %-s " "$w" "$D" [ -e "$F" ] && { echo got; already=1; return 0; } wget -c -q "$U" && { echo "^_^"; return 0; } echo "0_o" return 1 } while true; do get && break S=$[$S-60] done # TODO detect I if not specified? if [ $already = 0 ]; then S0="$S" while true; do S=$[$S-$I*60] get || break [ $already = 1 ] && break done S="$S0" fi while true; do S=$[$S+$[$I*60]] while true; do get "$N" && break sleep $Z done sleep $Z done