#! /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