Administratorhandbuch:SquidCacheleeren: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
(kat) |
||
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{ | {{Archiv}} | ||
== Leeren des Proxy-Caches von Squid == | == 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: | |||
<pre> | <pre> | ||
/etc/init.d/squid stop | /etc/init.d/squid stop | ||
rm -fR /var/proxy/cache (dauert eine Weile, durchaus 10 Minuten!) | rm -fR /var/proxy/cache (dauert eine Weile, durchaus 10 Minuten!) | ||
/etc/init.d/squid start (und wieder 5-10 Minuten Geduld) | |||
</pre> | |||
=== 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 | |||
<pre> | |||
crontab -e | |||
</pre> | </pre> | ||
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. | |||
<pre> | |||
00 04 1 3,6,9,12 * (tab) /usr/sbin/sqempty | |||
</pre> | |||
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: | |||
<pre> | <pre> | ||
touch /usr/sbin/sqempty | |||
chmod 754 /usr/sbin/sqempty | |||
cd /usr/sbin | |||
</pre> | </pre> | ||
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: | |||
( | |||
<pre> | <pre> | ||
Zeile 37: | Zeile 55: | ||
/etc/init.d/squid stop | /etc/init.d/squid stop | ||
sleep 180 | sleep 180 | ||
#damit wirklich Ruhe ist | |||
killall squid | |||
rm -fR /var/proxy/cache | |||
sleep 720 | |||
/etc/init.d/squid start | /etc/init.d/squid start | ||
</pre> | </pre> | ||
Das Problem steckt im Detail: Eine Anfrage hat einen Timeout | 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. | 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. | ||
---- | ---- | ||
<div align="right">[[Administratorhandbuch|zurück]] | [[Hauptseite]]</div> | <div align="right">[[Administratorhandbuch|zurück]] | [[Hauptseite]]</div> | ||
[[Kategorie:ArchivArktur40]] |
Aktuelle Version vom 16. März 2012, 10:23 Uhr
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.