#!/bin/bash STATE=/home/stevem/watch-state R_HOST=cd-builder.debian.net R_LOC=testing/weekly-builds R_WEBROOT=$R_LOC R_RSYNCROOT=/srv/cdimage.debian.org/www/$R_LOC R_USER=steve CACHE_DIR=/srv/jigdo-snapshots OUT_DIR=/srv/jigdo-area/testing MIRROR=/srv/ftp/debian SNAP_AREA=/srv/jigdo-area/snapshot LOCK=$STATE/lock # Check to see if another sync is in progress if lockfile -! -l 43200 -r 0 "$LOCK" >/dev/null 2>&1 ; then # echo `hostname` is unable to start CD sync, lock file exists exit 1 fi trap "rm -f $LOCK > /dev/null 2>&1" exit wget -q -O $STATE/cd.new http://$R_HOST/$R_WEBROOT/trace/bla.wolffelaar.nl OLD=`cat $STATE/cd` NEW=`cat $STATE/cd.new` if [ "$OLD"x != "$NEW"x ] ; then echo "Old date $OLD, New $NEW" echo "Time to get new jigdos" mv -f $STATE/cd.new $STATE/cd rsync -rvtlz --delete \ $R_USER@$R_HOST:$R_RSYNCROOT/ \ $OUT_DIR/ SNAP_DATE=`date +%Y%m%d` echo "And snapshot to $SNAP_DATE" mkdir -p $CACHE_DIR/$SNAP_DATE cd $OUT_DIR find . -name '*.jigdo' | xargs tar cf - | ( cd $CACHE_DIR/$SNAP_DATE && tar xf - ) # Now generate a list of all the jigdo files that we should be # looking at find $CACHE_DIR -name '*.jigdo' > $CACHE_DIR/jigdo.list # And now update and check the snapshot from those jigdo files DATE=`date` echo "$DATE: Updating snapshot" ~/bin/mkjigsnap -m $MIRROR -d $SNAP_AREA/Debian -j $CACHE_DIR/jigdo.list -t ~/tmp DATE=`date` echo " $DATE: done" fi