[bglug] TrackSlack
k|b|s
kbs@bglug.it
Mar 22 Giu 2004 18:45:57 CEST
Con Ermanno si parlava di mantenere un mirror locale di slackware e
avere sottomano i vari cambiamenti del Changelog ufficiale.
Ecco quindi questo script:
--8<-- CUT HERE --8<--
#!/bin/bash
#
# TrackSlack v1.0 by k|b|s <joegalaxy@despammed.com>
# Controlla se ci sono cambiamenti nel Changelog di slack-current
# rispetto ad un mirror locale, e te lo dice ;^)
#
#####################
# CONFIGURA:
# Client di posta (io uso nail)
# se usate altro, probabilmente dovrete modificare qualcosa nel comando
MAIL="nail"
#
# Mirror locale
MIRROR="/root/slackware-current"
#
# Server/mirror ufficiale slack
SERVER="rsync.slackware.at"
#
# A chi spedire l'avviso dei cambiamenti
MAILTO="kbs@bglug.it"
# Spedisce copia delle mail ad altri indirizzi, ognuno separato da una virgola
# (lasciate il -c iniziale, please)
#MAILCC="-c fred@bedrock.net,barney@bedrock.net"
#
# Ti avvisa anche se non è cambiato nulla (buono per il cron)
# (yes|no)
MAILNOTHING="yes"
######################
TMP="/tmp/slackchange"
if [ ! -d $TMP ]; then
mkdir -p $TMP
chmod 700 $TMP
fi
#
CHANGES="$TMP/changes.txt"
if [ -f $CHANGES ]; then
rm -rf $CHANGES
fi
#
NOCHANGES="$TMP/nochanges.txt"
#
LASTCHANGE=0
#
LASTCHANGE=`date -r $MIRROR/ChangeLog.txt +%s`
#
rsync -t $SERVER::slackware/slackware-current/ChangeLog.txt $TMP/
#
if [ $LASTCHANGE = `date -r $TMP/ChangeLog.txt +%s` ]; then
if [ $MAILNOTHING = "yes" ]; then
echo "Non è cambiato niente..." > $NOCHANGES
echo ""
$MAIL -r "TrackSlack" -s "TrackSlack Report - No changes" $MAILCC $MAILTO < $NOCHANGES
fi
exit
else
echo "Oggi Pat ha cambiato qualcosa nella slack-current." > $CHANGES
echo "Questi i dettagli:" >> $CHANGES
echo "" >> $CHANGES
echo "+--------------------------+" >> $CHANGES
diff -e $MIRROR/ChangeLog.txt $TMP/ChangeLog.txt | sed -e '1d' -e 's/^> //' >> $CHANGES
$MAIL -r "TrackSlack" -s "TrackSlack Report" $MAILCC $MAILTO < $CHANGES
fi
rm -rf $TMP
--8<-- CUT HERE --8<--
Ovviamente potete modificarlo per altri Changelogs. E tutto GPL ;^)
ciao
--
Fate l'amore con Control+Alt+Canc
k|b|s ~> mailto `echo ti.gulgb@sbk|'rev'`
Maggiori informazioni sulla lista
bglug