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

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