56 lines
1.4 KiB
Bash
Executable File
56 lines
1.4 KiB
Bash
Executable File
#!/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
|