Administratorhandbuch:SquidCacheleeren

Aus Delixs
Zur Navigation springen Zur Suche springen


Baustelle Archiv: Dieser Artikel beschreibt nicht die Funktionalität des derzeit aktuellen delixs-Servers. Er beschreibt ältere Schulserver-Funktionen und dient dem Zweck der Archivierung.


Leeren des Proxy-Caches von Squid

Einmaliges Leeren von Hand

Normalerweise brauchen Sie den Proxy-Cache nicht zu leeren. Aber sollten Sie doch einmal die Notwendigkeit sehen, dann sind folgende Schritte zu gehen:

Melden Sie sich direkt an der Konsole als root an.

Dann führen Sie die folgenden drei Befehle aus:

  /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)


Automatisches Leeren mittels Script

Um den Proxy-Cache von Squid regelmässig zu löschen, können Sie über einen Eintrag in der "crontab" das untenstehende Skript (sqempty) aufrufen.

Melden Sie sich direkt an der Konsole als root an. Mit dem Befehl

crontab -e

gelangen Sie in die "crontab" von root.

Dort erfolgt nun der folgende Eintrag, damit "sqempty" alle drei Monate am ersten Tag um 04:00 Uhr aufgerufen wird. Mit (tab) ist ein Tabulatorvorschub gemeint, geben Sie also nicht die Zeichenfolge (tab) selbst ein.

00 04 1 3,6,9,12 * (tab) /usr/sbin/sqempty

Nun folgt noch das Skript "sqempty", das in einem über die Variable PATH erreichbaren Verzeichnis liegen muss, also z.B. "/usr/sbin/". Erzeugen Sie zuerst das leere Script und weisen Sie diesem die nötigen Rechte zu:

touch /usr/sbin/sqempty
chmod 754 /usr/sbin/sqempty
cd /usr/sbin

Jetzt starten Sie den "mc" und suchen das neue Script. Es sollte eine leere Datei (0 Byte) mit dem Namen "sqempty" existieren. Diese ändern Sie nun (mit der Taste F4) und geben folgende Zeilen ein:

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

/etc/init.d/squid stop
sleep 180               
#damit wirklich Ruhe ist
killall squid           
rm -fR /var/proxy/cache
sleep 720
/etc/init.d/squid start

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

Squid darf niemals von online nach offline (und umgekehrt) geschaltet werden, wenn noch Anfragen aktiv sind. Denn in diesem Fall würde die erste Instanz nicht geschlossen (denn sie hat ja noch Anfragen), die zweite nicht sauber aufgebaut und Squid frisst sich nach endlicher Zeit fest.



zurück | Hauptseite