All pastes #487269 Raw Edit

phoemix

public text v1 · immutable
·published 2007-05-14 11:06 UTC
rendered paste body
#! /bin/bash
#
#/* Copyright (c) 2000 XXXX
# *               2003 XXXX
# *
# * This program may be freely redistributed under the terms of the GNU
# * Public License.  You should be able to find a copy of the GPL in
# * your "/usr/doc/copyright" directory on most GNU/Linux installations.
# */
#
# < Version 1.5         Sun, 10 Feb 2002 12:01:02 +0100 >
#

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

EMAIL=${EMAIL:-'apt-update@publishing.hu'}

export LANG=C
ho=`date +%H`
DA=`date +%Y-%m-%d`
SS=`date +%s`
MY=`basename $0`
LOG=`mktemp`
echo "$MY: Start"               2>&1 |logger
EU=0
ED=0
echo "++ `date` :: START....................................0."         1>>$LOG 2>&1
echo "++ `date` :: apt-get autoclean........................$i."        1>>$LOG 2>&1
apt-get autoclean                                                       1>>$LOG 2>&1
if [ x"`date +%w`" == x0 ]; then
    echo "++ `date` :: apt-get clean............................$i."    1>>$LOG 2>&1
    apt-get clean                                                       1>>$LOG 2>&1
fi
i=0
r=1
while [ $i -le 9 -a $r -ne 0 ]; do
    echo "++ `date` :: apt-get update...........................$i."    1>>$LOG 2>&1
    apt-get update                                                      1>>$LOG 2>&1
    r=$?
    i=$[$i + 1]
    if [ $r -ne 0 ]; then
        echo "++ Result:$r."                                            1>>$LOG 2>&1
        sleep 20
    fi
done
if [ $r -ne 0 ]; then
    EU=1
fi
i=0
r=1
while [ $i -le 9 -a $r -ne 0 ]; do
    echo "++ `date` :: apt-get dist-upgrade.....................$i."    1>>$LOG 2>&1
    apt-get dist-upgrade -d -y -u                                       1>>$LOG 2>&1
    r=$?
    i=$[$i + 1]
    if [ $r -ne 0 ]; then
        echo "++ Result:$r."                                            1>>$LOG 2>&1
        sleep 20
    fi
done
if [ $r -ne 0 ]; then
    ED=1
fi
echo "++ `date` :: STOP.....................................0."         1>>$LOG 2>&1
echo "$MY: Stop"                2>&1 |logger
DB=`cat $LOG|grep 'upgraded\.'|sort -u|tail -1|awk '{printf("U%s:N%s",$1,$4)}'`
if [ $EU -eq 1 -o $ED -eq 1 ]; then
    DB='Error:Found'
fi

SUBJECT="$MY:$DA:$DB:`hostname -f`"

if [ "$EMAIL" != "-" ]; then
    cat $LOG|mailx -s "$SUBJECT" $EMAIL
else
    echo "SUBJECT: $SUBJECT"
    cat $LOG
fi

rm -f $LOG
exit 0