Administratorhandbuch:SquidCacheleeren
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.