* Norbert Kordts schrieb am 01.Nov.2001:
Michael Nausch wrote:
Ich hatte den Eintrag für 1x Pro Tag schon eingetragen. Dabei hatte ich einfach einen vorhandenen Eintrag kopiert und editiert. Heruas kam folgendes:
55 2 * * * bigchief test -x /home/bigchief/omni128.de/tmp/hp-index \ && /home/bigchief/omni128.de/tmp/hp-index
Das ganze läuft hervorragend, bekam sogar eine Nachricht zugeschickt, mit den Bildschirmausgaben meines scriptes.
Da cron keinem tty zugeordnet ist, kann es schlechterdings eine Bildschirmausgabe machen. Daher schickt cron eine Mail.
Aber was bedeutet denn eigentlich: test -x &&
test -x <datei> prüft, ob <datei> existiert
&& Führt das Kommando hinter dem && nur dann aus, wenn das Kommando vor dem && erfolgreich ablief (genauer, einen Exit-Status 0 lieferte)
und warum ist der Befehl 2x da?
In Deinem Fall erfolgt also zuerst ein Test, ob es die Datei /home/bigchief/omni128.de/tmp/hp-index" überhaupt gibt (1. Name),
Nicht nur gibt, daß wäre mit test -e erledigt, sonder auch noch darüber hinaus, ob die Datei, wenn es sie den gibt auch ausführbar ist.
und wenn dem so ist, wird sie ausgeführt (2. Name).
So ist es. Dabei wäre zu sagen, daß SuSE vor eine andere Situation steht als Du, Michael. Es kann ja durchaus sein, daß es eine gewisse Datei nicht gibt, z.B weil ein bestimmtes Programmpaket nicht installiert wurde. Wenn dem so ist, käme es ohne den Test zu häßlichen Fehlermeldungen. Darum wird zuvor getestet. Wenn Du aber ein Skript anlegst, dann weißt Du, daß es existiert. Daher ist der Test für Dich überflüssig. Im Gegenteil, solltest Du mal aus Unachtsamkeit mal das Skript löschen, verschieben oder das Ausführrecht nehmen, so ist Dir mit einer Fehlermeldung seitens cron mehr geholfen, als wen die nicht käme. Bernd -- Umsteiger von Microsoft Windows xx? Hast Du schon file://usr/doc/howto/de/DE-DOS-nach-Linux-HOWTO.txt gelesen? Auch file://usr/doc/Books/Linuxhandbuch.dvi ist zu empfehlen. |Zufallssignatur 1