1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| #!/bin/sh
# repertoire ou se trouve la base de donnees
destdir=/var/lib/squidguard
# repertoire des logs de squid
logdir=/var/log/squid
# fichier de log pour savoir si le telechargement s'est bien deroule
logfile=$logdir/updsgdb.log
# site ftp
ftp_url=ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/
# fichier de blacklisting
blfile=blacklists.tar.gz
#fonction permettant la gestion d'erreurs
launch() {
cmd=$1
err=$2
echo $cmd | tee -a $logfile && eval "$cmd >> $logfile 2>&1"
if [ $? -ne 0 ]
then
echo "ERREUR : $err" | tee -a $logfile
exit
fi
}
# Chargement des BLACKLISTS
cd $destdir
# entete du fichier journal
echo ---------------------------------------- > $logfile
echo TELECHARGEMENT DES BLACKLISTS POUR SQUID >> $logfile
echo ---------------------------------------- >> $logfile
date >> $logfile
echo "fichier de log : $logfile"
#sauvegarde de l'ancienne blacklist
echo "#sauvegarde de l'ancienne blacklist"
if [ -f "$destdir/$blfile" ]
then
launch "mv -v $destdir/$blfile $destdir/$blfile.bak" "sauvegarde de l'ancienne blacklist a echoue"
fi
#telechargement de la blacklist
echo "#telechargement de la blacklist"
launch "wget -N -P $destdir $ftp_url$blfile" "fichier ftp blacklists $blfile NON TROUVE"
# Decompression du fichier recupere
echo "# Decompression du fichier recupere"
launch "tar xvzf $destdir/$blfile -C $destdir/blacklists/" "repertoire blacklists INTROUVABLE"
# suppression de l'archive
echo "#suppression de l'archive"
launch "rm -v -f $destdir/$blfile" "la suppression a echoue"
# changement de proprietaire pour que squid puisse fonctionner
# on a maintenant besoin d'une liste
echo "# changement de proprietaire pour que squid puisse fonctionner"
launch "chown -R proxy:proxy $destdir/blacklists $destdir/db" "le changement de proprietaire a echoue"
# arret de squid
echo "#arret de squid"
launch "/etc/init.d/squid stop" "l'arret de squid a echoue"
echo $cmd && eval $cmd
# mise a jour de la base de donnees
echo "#mise a jour des bases squidguard"
launch "/usr/bin/squidGuard -C all" "la mise a jour de la bdd a echoue"
# redemarrage de squid
echo "#redemarrage de squid"
launch "/etc/init.d/squid start" "le redemarrage de squid a echoue" |
Partager