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 |