Administratorhandbuch:SquidCacheleeren
Diese Seite sollte nochmals überarbeitet werden. Eine Begründung befindet sich in der Regel unter Diskussion (oben). |
Leeren des Proxy-Caches von Squid
Normalerweise braucht man den Proxy-Cache nicht zu leeren. Aber sollten Sie doch einmal die Notwendigkeit sehen, dann sind folgende Schritte zu gehen:
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.