Administratorhandbuch:SquidCacheleeren: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
(Artikel zum Test)
Zeile 1: Zeile 1:
__NOTOC__
__NOTOC__
{{Uberarbeiten}}
{{zumTest}}


== Leeren des Proxy-Caches von Squid ==
== 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:
=== Einmaliges Leeren von Hand ===


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


Dann:
Melden Sie sich direkt an der Konsole als ''root'' an.
 
Dann führen Sie die folgenden drei Befehle aus:


<pre>
<pre>
Zeile 17: Zeile 19:




Um den überlaufenden Cache von Squid regelmässig zu löschen, kann über einen Eintrag in "/etc/crontab" das untenstehende Skript (sqempty) aufgerufen werden.
=== 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>
 
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) root (tab) /usr/sbin/sqempty
</pre>


Eintrag in "/etc/crontab", damit sqempty alle drei Monate am ersten Tag um 04:00 Uhr aufgerufen wird:
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>
00 04 1 3,6,9,12 * (tab) root (tab) sqempty
touch /usr/sbin/sqempty
chmod 754 /usr/sbin/sqempty
cd /usr/sbin
</pre>
</pre>


Das Skript "sqempty", das in einem über PATH erreichbaren Verzeichnis liegen muss
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:
(z.B. "/usr/sbin/"):


<pre>
<pre>
Zeile 36: Zeile 54:


/etc/init.d/squid stop
/etc/init.d/squid stop
sleep 180           ( oder sleep 3m )
sleep 180              
killall squid        ( damit wirklich Ruhe ist )
#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 über Nameserver und Co. zwischen 2 und 3 Minuten.
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. 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.
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>

Version vom 14. Dezember 2005, 19:40 Uhr

ZumTest Nach Meinung des Autors ist diese Seite fertig. Es wäre schön, wenn ausgiebige Tests durch viele Nutzer eventuell noch vorhandene Fehler beseitigen helfen.

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) root (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