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.
|