cronjob funktioniert nicht

Post Reply
Message
Author
NiciB
Posts: 5
Joined: 01. Sep 2004 7:41

cronjob funktioniert nicht

#1 Post by NiciB »

Hallo!

Ich habe versucht einen Cronjob per SSH zu erstellen.

Ich hab es auf folgende Arten versucht (der Job soll jeden Tag von 6-22 Uhr alle 5 Minuten ausgeführt werden):

Das sind die Ergebnisse bei crontab -l:

Code: Select all

Versuch 1:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.16269 installed on Tue Aug 31 20:14:25 2004)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
*/5 6-22 * * * http://www.domain.de/admin/memory/mail.php

Code: Select all

Versuch 2:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.21340 installed on Wed Sep  1 08:45:12 2004)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
*/5 6-22 * * *  /usr/www/users/username/admin/memory/mail.php -dump > /dev/null

Code: Select all

Versuch 3:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.10713 installed on Wed Sep  1 07:54:46 2004)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
*/5 6-22 * * *  wget http://www.domain.at/admin/memory/mail.php -0 /dev/null
Bei keinem Versuch hat sich was gerührt! Das Script funktioniert aber, wenn ich die URL im Browser eingebe, wird es korrekt ausgeführt.

User avatar
Hans Solo
prolinux-forum-admin
Posts: 601
Joined: 20. Apr 2004 12:19
Location: AT
Contact:

#2 Post by Hans Solo »

hi
was für ein system hast du denn.
könnte es vielleicht damit zusammenhängen:
# DO NOT EDIT THIS FILE - edit the master and reinstall.

mfg
arno
[root@host]# cd /pub
[root@host]# more beer

User avatar
jochen
prolinux-forum-admin
Posts: 699
Joined: 14. Jan 2000 15:37
Location: Jülich
Contact:

#3 Post by jochen »

@Hans: Na, ich würd schon davon ausgehen, dass er mit "crontab -e" gearbeitet hat. Das "Do not edit" ist nur eine Warnung, wenn man sich den Job mittels "crontab -l" auflisten lässt.

@NiciB:
Versuch 1 kann nicht funktionieren, da die Shell (die von crontab aufgerufen wird) mit der URL als Kommando nichts anfangen kann.

Versuch 2 sollte es eigentlich tun, solange php als Kommandointerpreter auf dem System vorhanden ist und im Pfad kein Tippfehler ist. Ausserdem muss die Datei dann ausführbar sein und "#!/usr/bin/php" als erste Zeile stehen haben - gesetzt den Fall, dass php unter /usr/bin liegt und nicht unter /usr/local/bin oder so...

Versuch 3 sollte eigentlich funktionieren, wenn das Kommando wget zur Verfügung steht. Da der Suchpfad für Kommandos bei crontab ziemlich eingeschränkt ist, wüde ich den aboluten Pfad für das wget-Binary verwenden. Ausserdem weiss ich nicht, wie tolerant wget ist; normalerweise stellt man erst die Optionen, dann die Argumente hinter den Kommandoaufruf. Zum guten Schluss muss wget ja nichts ausgeben, also Option -q setzen:

Code: Select all

*/5 6-22 * * *  /usr/bin/wget -q -0 /dev/null http://www.domain.at/admin/memory/mail.php 
Was jetzt noch kaputt gehen könnte, wäre natürlich von der Seite abhängig. Wenn die darauf wartet, dass irgendein Button gedrückt wird, müsste die URL anders lauten...

Jochen
Die grösste Lüge der EDV? "Mal eben..."

NiciB
Posts: 5
Joined: 01. Sep 2004 7:41

#4 Post by NiciB »

Ich habs jetzt mal so versucht:

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.5886 installed on Wed Sep 1 10:35:22 2004)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
*/5 6-22 * * * /usr/bin/wget -q -0 /dev/null http://www.domain.at/admin/memory/mail.php

auch nichts.

ad Versuch 2: Ich hab die Zeile in die Datei kopiert. Allerdings wird sie als Kommentar interpretiert. passt das schon?

leider auch nichts.

joersch

#5 Post by joersch »

Mahlzeit,

lass mal das /dev/null weg oder schreibe es am ende und tue ein 2>&1 davor
evtl mal den cron neu starten

Gruss

NiciB
Posts: 5
Joined: 01. Sep 2004 7:41

#6 Post by NiciB »

so?

*/5 6-22 * * * /usr/bin/wget -q -0 http://www.domain.at/admin/memory/mail.php 2>&1 /dev/null

joersch

#7 Post by joersch »

so?
ja, und?

was macht dieses script eigenlich?
ich verwende solche sachen auch (zeit und ips auf server laden, damit ich weis, welche ip ein rechner momentan hat):

1 5 * * * /usr/bin/url_get http://localhost/myscript.php 2>&1 /dev/null

und das tut!

Gruss

Post Reply