Administratorhandbuch:SquidCacheleeren

Aus Delixs
Zur Navigation springen Zur Suche springen
Uberarbeiten Diese Seite sollte nochmals überarbeitet werden. Eine Begründung befindet sich in der Regel unter Diskussion (oben).

Leeren des Proxy-Caches von Squid

Als root anmelden. Dann:

  /etc/init.d/squid stop
  rm -fR /var/proxy/cache    (dauert eine Weile, durchaus 10 Minuten!)
  /etc/init.d/squid start    (und wieder 5-10 Minuten Geduld)


Um den überlaufenden Cache von Squid regelmässig zu löschen, kann über einen Eintrag in "/etc/crontab" das untenstehende Skript (sqempty) aufgerufen werden.


Eintrag in "/etc/crontab", damit sqempty alle drei Monate am ersten Tag um 04:00 Uhr aufgerufen wird:

00 04 1 3,6,9,12 * (tab) root (tab) sqempty

Das Skript "sqempty", das in einem über PATH erreichbaren Verzeichnis liegen muss (z.B. "/usr/sbin/"):

#!/bin/bash
#
# leert den Cache von squid
#

/etc/init.d/squid stop
sleep 180            ( oder sleep 3m )
killall squid        ( damit wirklich Ruhe ist )
/etc/init.d/squid start

Das Problem steckt im Detail: Eine Anfrage hat einen Timeout über Nameserver und Co. zwischen 2 und 3 Minuten.

Squid darf niemals von online nach offline (und umgekehrt) geschaltet werden, wenn noch Anfragen aktiv sind. In diesem Fall wird die erste Instanz nicht geschlossen (denn sie hat ja noch Anfragen), die zweite nicht sauber aufgebaut und Squid frisst sich nach endlicher Zeit fest, wobei die Zeit zwischen dem Umschalten und dem Festfressen auch eine Stunde oder mehr sein kann.



zurück | Hauptseite