Hallo Zusammen,
Ich habe ein echtes Problem. Beisse mir ein wenig die Zähne aus.
Ich habe mir folgendes Script geschrieben um zu überprüfen ob mein Server noch online ist.
wget www.example.com/onlinefile.php
x=$(grep 'xyz' /exec/onlinefile.php)
date=$(date)
if [ "$x" = "xyz" ]
then echo $date >> /exec/status.log
else
echo "Seite ist nicht mehr erreichbar." | mail phil@example.co
fi
rm /exec/onlinefile.php
Nun, der Witz daran ist, wenn ich das Programm direkt via Putty ausführe, klappt dies perfekt. Das File onlinefile.php mit dem Inhalt xyz wird heruntergeladen und überprüft. Wenn ich mein Programm nun automatisch mittels crontab laufen lasse, schickt er mir jeweis immer wenn das Programm ausgeführt wird, eine E-Mail. Unabhängig ob der Server online ist oder nicht. Wie kann das sein?
Ich benutze übrigens Debian.
Danke und Gruss
Problem - Shell und Crontab ergeben nicht das gleiche Ergebnis?
cron benutzt höchstwahrscheinlich einen anderen Suchpfad, so dass wget nicht gefunden werden kann und in der Folge grep nicht auf eine aktuelle Datei zugreift.
In cron-Skripten setzt man besser immer explizit den Suchpfad oder gibt absolute Pfade bei jedem Befehl an.
Außerdem solltest du überlegen, statt wget "curl" zu verwenden, womit das ganze Skript ohne temporäre Dateien auskäme.
Janka
In cron-Skripten setzt man besser immer explizit den Suchpfad oder gibt absolute Pfade bei jedem Befehl an.
Außerdem solltest du überlegen, statt wget "curl" zu verwenden, womit das ganze Skript ohne temporäre Dateien auskäme.
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
Ich mag die Schreie.
Aber warum sollte man dazu unbedingt curl statt wget nehmen muessen?
Keine überflüssigen Tempfiles, keine überflüssigen Ausgaben, keine überflüssigen Variablen. Und mit der PATH-Angabe sind auch keine absoluten Pfade notwendig.
Jochen
Code: Alles auswählen
PATH=/bin:/usr/bin
export PATH
if wget -q -O - http://www.example.com/onlinefile.php | grep -q 'xyz'; then
date >> /exec/status.log
else
echo "Seite ist nicht mehr erreichbar." | mail phil@example.co
fi
Jochen