[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