Administratorhandbuch:SquidCacheleeren

Aus Delixs
Version vom 16. November 2005, 16:03 Uhr von Schoffer (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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

Achtung: Diese Beschreibung ist für Arktur 3 geschrieben und muss auf Arktur 4 erst noch ausgetestet werden.

Als root anmelden. Dann:

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


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