Läuft der Squid im Testlauf ohne Probleme, sollte ein Startskript
erstellt werden. Über dieses kann der Squid bei einem Neustart des
Systems automatisch hochgefahren werden.
Zu beachten ist, dass der Squid bei noch aktiven Verbindungen längere
Zeit braucht, bis er gestoppt ist. Deshalb ist hier für den Stop-Fall
eine Schleife einzubauen, die das Skript erst dann beendet, wenn der
Daemon wirklich gestorben ist, da ansonsten ein erneuter Start mit
Fehlern abgebrochen wird.
#!/bin/bash
squid=/usr/local/squid/sbin/squid
test -x $squid || exit 0
case "$1" in
start)
echo "Starting squid"
$squid -D -sYC
sleep 1
$0 status
;;
stop)
echo "Stopping squid"
$squid -k shutdown
n=0
while $squid -k check && [ $n -lt 120 ]; do
sleep 1
echo -n .
n=`/usr/bin/expr $n + 1`
done
$0 status
;;
status)
$squid -k check
/bin/ps aux | /bin/grep squid | /bin/grep -v -e "status" -e "grep"
;;
reload)
$squid -k reconfigure
;;
restart)
$0 stop && $0 start
;;
*)
echo "Usage: $0 {start|stop|reload|restart|status|}" >&2
;;
esac
|
Dieses Skript ist als /etc/init.d/squid anzulegen und ausführbar
zu machen.
Um einen automatischen Start des Squid nach einem Neustart zu
erreichen, müssen die entsprechenden Links in den rc-Verzeichnissen
auf /etc/init.d/squid gesetzt werden. Da sich die einzelnen
Linux-Distributionen hier leider sehr unterscheiden, ist hierfür
kein einfaches Beispiel möglich.
|