next up previous contents index
Nächste Seite: EDBS Daten verarbeiten Aufwärts: Lösung mit MapServer Vorherige Seite: streetspyfooter.html   Inhalt   Index

Löschen der temporären Bilddateien

Durch die Definition von IMAGEPATH "/usr/local/httpd/htdocs/mapserver/tmp/ als Verzeichnis in das Mapserver die erzeugten Bilddateien für den Webserver schreibt, wird sich dieses Verzeichnis im Laufe der Zeit mit Bilddaten füllen, die nicht mehr benötigt werden. Um die zu verhindern, kann auf Rechnern mit dem Betriebssystem GNU/Linux ein einfaches Shell-Skript geschrieben werden, das in diesem Verzeichnis alle Dateien löscht die Älter als Beispielsweise 60 min sind. Erstellt wird ein solches Skript mit einem beliebigen Editor.

freegis@xml-2:/usr/local/httpd/htdocs/mapserver > vim ex.sh

Dieses Kommando ruft den Editor vim an der Kommandozeile auf. Das eigentliche Skript besteht hier in aus einem Kommando, dem verschiedene Parameter mitgegeben werden und die es veranlassen , alle Dateien, deren Name mit Demo beginnt und die älter als 60 min sind, zu löschen. Um vim zu verlassen wird mit Esc in den Kommandomodus gewechselt und mit :wq das Programm mit vorherigem speichern beendet.

#!/bin/sh
# löscht die von mapserver erzeugten dateien in
# /usr/local/httpd/htdocs/mapserver/tmp/ die älter als 60 min sind
 
find /usr/local/httpd/htdocs/mapserver/tmp/ -name 'DEMO*.*' -type f/
-cmin +60 -exec rm -f -- '{}' ';'

Die erste Zeile gibt an, daß als Kommadointerpreter die sh - Shell benutzt wird. Die nächsten zwei Zeilen sind Kommentare die die Funktion dieses Skriptes beschreiben. Der eigentliche Befehl dieses Skriptes ist in der Zeile
find /usr/local/httpd/htdocs/mapserver/tmp/ -name 'DEMO*.*' -type f -cmin +60 -exec rm -f - '' ';' zu finden. Hier wird das Kommando find veranlasst auf alle Dateien (Files) -type f deren Name mit ,,DEMO beginnt -name 'DEMO*.*' und die älter als 60 Minuten sind -cmin +60 den Löschbefehl rm anzuwenden. Dieses Skript kann jetzt von der sogenannten Crontab des jeweiligen Users stündlich aufgerufen werden. Dazu wird die Crontab mit dem Befehl crontab -e editierbar aufgerufen.

freegis@xml-2:/usr/local/httpd/htdocs/mapserver > crontab -e

Nun wird eine Zeile wie die Folgende erstellt. Die erste Null führt das Kommando zu jeder vollen Stunde aus. Anzahl der Minuten = 0. Weiter wird das erzeugte Skript ex.sh von dem entsprechenden Pfad aus aufgerufen an dem es liegt.

0 * * * * /usr/local/httpd/htdocs/mapserver/ex.sh
~
~
~
~
~
~
~
~ "/tmp/crontab.24701" 1L, 50C      1,1      All


next up previous contents index
Nächste Seite: EDBS Daten verarbeiten Aufwärts: Lösung mit MapServer Vorherige Seite: streetspyfooter.html   Inhalt   Index
Heiko Kehlenbrink 2002-04-18