wsx
Модератор раздела
Юниксойд, сетевик
Откуда: Казань Всего сообщений: 1074 Рейтинг пользователя: 28 Репутация пользователя: 1Дата регистрации на форуме: 14 янв. 2005
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 24 июля 2007 10:31
Вот, давно уже написал.
Последняя версия: http://docs.google.com/View?docID=dw62qs5_1fdf2n2&revision=_latest
Просто сегодня добавил некоторые функции..
Листинг:
#VERSION: 0.0.6 {Last Update: 24.07.2007}
#SUPFILE = http://docs.google.com/Doc?id=dw62qs5_20fvq6d7
#PORTS SUP FILE = http://docs.google.com/Doc?id=dw62qs5_21hrq7x4
#CRON STRING =
# 35 23 * * * root /root/bin/autoupdater.sh
# {Username ROOT = just an example}. Script will starts every day at 23:35.
#!/bin/sh
USE_PORTSNAP="no";
USE_CSUP_FOR_PORTS="yes";
CHECK_UPTODATE="yes";
MYMAIL="irek.bagautdinov@gmail.com";
MAILBIN="/usr/bin/mail";
GREPBIN="/usr/bin/grep";
PORTSNAPBIN="/usr/sbin/portsnap";
PKG_VERBIN="/usr/sbin/pkg_version";
SUPFILE="/root/supfile";
PORTS_SUPFILE="/root/ports_sup";
CSUPBIN="/usr/bin/csup";
CSUPLOGDIR="/var/log/cvsup";
DATE="`/bin/date +%Y-%m-%d`";
$CSUPBIN $SUPFILE >> $CSUPLOGDIR/cvsup-$DATE.log
CNT="`$GREPBIN -E '(Edit|Delete|Checkout|Rejected|refused)' $CSUPLOGDIR/cvsup-$DATE.log`";
echo $CNT;
if [ -z "$CNT" ]
then
echo "No Updates" >> $CSUPLOGDIR/cvsup-$DATE.log
else
#TODO: We can use CNT memory block here.
$GREPBIN -E '(Edit|Delete|Checkout|Rejected|refused)' $CSUPLOGDIR/cvsup-$DATE.log | $MAILBIN -s Updates $MYMAIL
fi
if test $USE_PORTSNAP = "yes"
then
$PORTSNAPBIN fetch >> $CSUPLOGDIR/portsnap-$DATE.log
$PORTSNAPBIN update >> $CSUPLOGDIR/portsnap-$DATE.log
fi
if test $USE_CSUP_FOR_PORTS = "yes"
then
$CSUPBIN $PORTS_SUPFILE >> $CSUPLOGDIR/portssup-$DATE.log
fi
if test $CHECK_UPTODATE = "yes"
then
$PKG_VERBIN -v | $MAILBIN -s "Ports UP-to-Date status" $MYMAIL
fi
#TODO: One Prepared REPORT FILE to E-Mail.
#TODO: Generate HTML Report Pages for statistics via Web-Server.
# Revisions
# Version 0.0.1: Just CVSUP /usr/src and E-Mail report.
# Version 0.0.2: New variables.
# Version 0.0.3: CVSUP replaced with CSUP
# Version 0.0.4: New feature: updates ports (portsnap).
# Version 0.0.5: New feature: New way to update ports (csup).
# Version 0.0.6: pkg_version report sends to mail. |