Installation et configuration d'un proxy Squid cache
[25 mn de lecture - paru le 4/28/2003 - Public : Confirmé]
|
   
|
Auteur
7. Scripts
7.1. Script de démarrage
Voici un exemple de script de démarrage qui vous permettra de lancer
(ou arrêter) squid de cette manière :
/etc/init.d/squid start|stop
Pensez donc à placer le script dans /etc/init.d/ ou
bien /etc/rc.d/init.d/ et mettre les bons droits :
ades:~# chmod 700 /etc/init.d/squid
#####BEGIN OF THE SCRIPT#######
#. /etc/rc.d/init.d/functions # utile pour certaine distribution (Red Hat...)
SQUID_HOME=/usr/local/squid
[ -f $SQUID_HOME/bin/squid ] || exit 0
case "$1" in
start)
echo -n "Starting squid: "
base=`basename $1`
# Déjà lancé ?
[ "`pidofproc $base`" != "" ] && return
# echo basename of the program.
echo -n "$base "
# Start
daemon $SQUID_HOME/sbin/squid -D &
echo
touch /var/lock/subsys/squid
;;
stop)
echo -n "Waiting for squid shutdown..."
PID=`pidof squid`
TIME=0
kill -TERM $PID
# on laisse squid se terminer avant de rendre la main
while kill -0 $PID 2>/dev/null
do
sleep 2
let TIME=$TIME+2
if [ $TIME = 150 ] ; then
echo "killing squid"
killproc squid
break
fi
done
echo $TIME" s elapsed"
rm -f /var/lock/subsys/squid
;;
*)
echo "Usage: squid.init {start|stop}"
exit 1
esac
exit 0
######END OF THE SCRIPT########
7.2. Script de vérification
Ce script permet de vérifier si Squid est actuellement lancé,
et si non il le lance et envoie un mail à l'administrateur pour le prévenir.
Il est intéressant de combiner ce script avec une règle crontab
afin d'être sûr que votre Proxy soit toujours actif.
#!/bin/sh
/bin/pidof squid > /dev/null # Attention pidof peut se trouver dans /sbin
if [ $? = 1 ]
then
/etc/init.d/squid stop
/etc/init.d/squid start
echo "redémarrage de Squid" | mail -s "[Squid] Redémarrage
de Squid " toto@toto.com
fi
|