Annotation of mss/netupdate/networkupdate.sh, Revision 1.2
1.1 kirby 1: #!/usr/local/bin/bash
2:
3: # Use config file instead of editing script itself
4: source netupdate.conf
5:
6: # Set some variables
7: LOCK=/var/run/mssupdate.lock
8: LOCALVERSION=`cat /var/lib/mss/version`
9:
10: # Get apropriate programm version and full path to it from fileserver
11: VERSION=`ssh $USER@$SERVER grep $NAME $HOSTLIST |awk '{print $2}'`
12: UPDATEDIR=`ssh $USER@$SERVER grep $NAME $HOSTLIST |awk '{print $3}'`
13:
1.2 ! kirby 14: # Add version file if it's missing (useful on clean systems)
! 15: if [ ! -e /var/lib/mss/version ]; then
! 16: echo "0.0" > /var/lib/mss/version
! 17: fi
! 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
! 23: rsync -Hacvx --exclude-from=/var/lib/mss/rsync-exclude $USER@$SERVER:$UPDATEDIR/$VERSION/ /var/lib/mss
! 24: rsync -Hacvx --exclude-from=/var/lib/mss/rsync-exclude $USER@$SERVER:$UPDATEDIR/music /var/lib/mss/
! 25: echo "Updated from $LOCALVERSION to $VERSION"
! 26: echo $VERSION > /var/lib/mss/version
! 27: ssh $USER@$SERVER echo "`date` $NAME updated from $LOCALVERSION to $VERSION" >> $UPDATEDIR/update.log
! 28: rm -f $LOCK
! 29: elif [ "$(echo "$LOCALVERSION < $VERSION" |bc -l )" -eq 1 ] && [ -e $LOCK ]
! 30: echo "Update is running..."
1.1 kirby 31: else
1.2 ! kirby 32: echo "Version $LOCALVERSION is already installed"
1.1 kirby 33: fi
34:
35:
36:
37:
38:
39: # Debug
40: echo $USER $SERVER $NAME $UPDATEDIR $VERSION $LOCALVERSION $HOSTLIST
CVSweb