Annotation of mss/netupdate/networkupdate.sh, Revision 1.7
1.1 kirby 1: #!/usr/local/bin/bash
2:
3: # Use config file instead of editing script itself
4: source netupdate.conf
5:
1.7 ! kirby 6: # Add version file if it's missing (useful on clean systems)
! 7: if [ ! -e /var/lib/mss/version ]; then
! 8: echo "0.0" > /var/lib/mss/version
! 9: fi
! 10:
1.1 kirby 11: # Set some variables
12: LOCK=/var/run/mssupdate.lock
13: LOCALVERSION=`cat /var/lib/mss/version`
14:
15: # Get apropriate programm version and full path to it from fileserver
1.5 kirby 16: VERSION=`ssh $USER@$SERVER grep $MYNAME $HOSTLIST |awk '{print $2}'`
17: UPDATEDIR=`ssh $USER@$SERVER grep $MYNAME $HOSTLIST |awk '{print $3}'`
1.2 kirby 18:
1.1 kirby 19: # Check whether we have latest version
20: if [ "$(echo "$LOCALVERSION < $VERSION" |bc -l )" -eq 1 ] && [ ! -e $LOCK ]; then
1.2 kirby 21: echo "Starting update..."
22: touch $LOCK
1.5 kirby 23: rsync -Havx --ignore-existing --exclude-from=/var/lib/mss/rsync-exclude $USER@$SERVER:$UPDATEDIR/music /var/lib/mss/
1.6 kirby 24: rsync -Hacvx --exclude-from=/var/lib/mss/rsync-exclude $USER@$SERVER:$UPDATEDIR/$VERSION/1 /var/lib/mss
25: if [ $? -eq 0 ]; then
1.2 kirby 26: echo "Updated from $LOCALVERSION to $VERSION"
27: echo $VERSION > /var/lib/mss/version
1.5 kirby 28: ssh $USER@$SERVER echo "`date` SUCCESS: $MYNAME was updated from $UPDATEDIR $LOCALVERSION '->' $VERSION" >> $UPDATEDIR/update.log
1.2 kirby 29: rm -f $LOCK
1.6 kirby 30: else
31: echo "Update failed"
32: ssh $USER@$SERVER echo "`date` ERROR: $MYNAME update from $UPDATEDIR $LOCALVERSION '->' $VERSION failed" >> $UPDATEDIR/update.log
33: fi
1.3 kirby 34: elif [ "$(echo "$LOCALVERSION < $VERSION" |bc -l )" -eq 1 ] && [ -e $LOCK ]; then
1.2 kirby 35: echo "Update is running..."
1.5 kirby 36: ssh $USER@$SERVER echo "`date` WARNING: $MYNAME is still running update from $LOCALVERSION to $VERSION" >> $UPDATEDIR/update.log
1.1 kirby 37: else
1.2 kirby 38: echo "Version $LOCALVERSION is already installed"
1.1 kirby 39: fi
40:
41:
42:
43:
44:
45: # Debug
1.5 kirby 46: echo $USER $SERVER $MYNAME $UPDATEDIR $VERSION $LOCALVERSION $HOSTLIST
CVSweb