Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 19. Nov 2018 12:03

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 12. Nov 2007 22:46 
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


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Nov 2007 1:45 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
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

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Nov 2007 10:56 
Genau das war der Fehler! Vielen Dank für die Hilfe, das Script läuft jetzt perfekt!

Leider kennt mein Debian den Befehl "curl" nicht, gibtes vielleicht eine alternative?

Vielen Dank und ein schöner Tag! Gruss Philipp


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Nov 2007 18:27 
cURL ist ein Programm.

http://curl.haxx.se/


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Nov 2007 23:08 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
"apt-get install curl" sollte dies beheben.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22. Nov 2007 15:02 
Aber warum sollte man dazu unbedingt curl statt wget nehmen muessen?
Code:
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
Keine überflüssigen Tempfiles, keine überflüssigen Ausgaben, keine überflüssigen Variablen. Und mit der PATH-Angabe sind auch keine absoluten Pfade notwendig.

Jochen


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de