[BACK]Return to networkupdate.sh CVS log [TXT][DIR] Up to [local] / mss / netupdate

Annotation of mss/netupdate/networkupdate.sh, Revision 1.14

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

CVSweb