Frage zu Cronjob

B

bobo

Eroberer
Hi,

bin leider noch nicht so ganz fit drin.
Ich möchte gerne eine php Datei mit Cronjob ausführen.
Würde folgendes funktionieren, es geht dabei darum das eine Datei nach 20 Minuten und die andere Datei alle 45 Minuten ausgeführt wird.

20 * * * * /usr/local/bin/php /.../.../.../.../bf2stats/updateServer.php > /dev/null
45 * * * * /usr/local/bin/php /.../.../.../...l/bf2stats/update.php > /dev/null

Wie muß ich es einstellen wenn ich möchte das der Abstand 2 Stunden betragen soll.

Gruß
bobo
 
Das ist die Syntax eines Crontabeintrages
Code:
MIN HOUR DAY MONTH DAYOFWEEK   COMMAND
man crontab schrieb:
# every two hours at the top of the hour
0 */2 * * * date
(5 Sekunden.)
 
wenn man es in die /etc/crontab einträgt, muss man auch noch den User angeben, unter dem das dann ausgeführt werden soll, also:
MIN HOUR DAY MONTH DAYOFWEEK USER COMMAND
 
slasher schrieb:
wenn man es in die /etc/crontab einträgt, muss man auch noch den User angeben, unter dem das dann ausgeführt werden soll, also:
Nun, von Hand sollte man da nix eintragen.
Dazu gibt es das nette Kommando
Code:
crontab -e
 
Nun, von Hand sollte man da nix eintragen.
dafür ist die Datei da :). Wie Perl-Programmierer immer so schön sagen: es gibt hunderttausend Wege nach Rom, und alle sind mehr oder weniger erfolgreich.
 
@slasher & hehejo: Streitet euch doch wo anders....

@bobo:

Die würde theoretisch beide funktionieren, allerdings machen sie nicht das, was du willst.
Ersteres kannst du so machen:

0 * * * * /usr/local/bin/php /.../.../.../.../bf2stats/updateServer.php > /dev/null
20 * * * * /usr/local/bin/php /.../.../.../.../bf2stats/updateServer.php > /dev/null
40 * * * * /usr/local/bin/php /.../.../.../.../bf2stats/updateServer.php > /dev/null

Zu dem Anderen weiß ich grad nichts.
 
Danke für die prompte Hilfe, aber das hier muß doch mit dabei oder ?

> /dev/null

Ich weiß zwar nimmer genau warum, vielleicht kanns mir ja einer erklären.

Gruß
bobo
 
Hallo
Das bedeutet lediglich, dass die Standardausgabe unterdrückt wird.
>/dev/null leitet alles aus der Standardausgabe in den virtuellen Müllschlucker
Wenn du das weglässt, bekommst du wahrscheinlich (wenn du das nicht explizit festlegst) pro cronjob eine Mail mit den Daten, die dein Script auf STDOUT ausgibt.
2 = Fehlerausgabe wird bei dir weiterhin ausgegeben (<STDERR>)

Der Pfad zum Script schaut mir aber doch sehr seltsam aus. Besser ist es in der Crontab immer den absoluten Pfad anzugeben. Es sei denn, du legst die Variable PATH in der Crontab fest.

Gruß Wolfgang
 
Hallo Wolfgang,

danke für die ausführlich Antwort.
Statt der Pünktchen steht schon die genaue Pfadangabe, ich habe das nur
auf die schnelle so geschriebenen. Aber so scheint das ja zu funktionieren.

Absolut wäre das so gewesen ?
hxxp://www.deine.domain.de/bf2stats/updateServer.php > /dev/null

Bekomme ich das mit wenns falsch ist ?

Gruß
bobo
 
Zuletzt bearbeitet:
Nehmen wir mal an du bist im Verzeichnis A. Im Nachbarverzeichnis B liegt datei x.
absolut:
Code:
[bobo@linux: ~/A] /home/bobo/B/x
relativ:
Code:
[bobo@linux: ~/A] ../B/x
 
So hab ich es gemacht mit den richtigen Pfaden und es passiert einfach nix.
Hat vielleicht einer ne Idee warum ?


20 * * * * /usr/local/bin/php /.../.../.../.../bf2stats/updateServer.php > /dev/null
45 * * * * /usr/local/bin/php /.../.../.../...l/bf2stats/update.php > /dev/null
 
ähm sacht mal... kann sein das ich nu nen irrtum unterliege weil doch schon nen bissle übermüdet... aber:
was als cron ausführbar sein soll muß doch auch in der konsole ausführbar sein. ich denke mal, wenn er
Code:
/usr/local/bin/php /.../.../.../.../bf2stats/updateServer.php
inner konsole macht... dann wirds ne fehlermeldung geben... und diese fehlermeldung wird auch als cron-job kommen nur direkt gleich gen /dev/null wandern...
...*grübel*

ach was,... ich geh schlafen bevor ich mit offnen augen vorm rechner wegknicke... :gn8:

*edit: nee, hat mir doch keine ruhe gelassen,...
denke, des müßte eher so ähnlich wie
Code:
 lynx --dump /woauchimmerdiephpliegt/updateServer.php > /dev/null
aussehen...

so, und nu, gn8
 
Zuletzt bearbeitet:
pfade mit drei punkten waeren auch mir neu. ich denke dort guckt sich der wauwau die radieschen von unten an. absolute pfadangaben verwenden !
 
Ich hab das so eingegeben:

/usr/bin/php /srv/www/web105/html/bf2stats/update.php

dann kommt der Fehler

Warning: updateplayeratt(conf/config.inc.php): failed to open stream: No such file or directory in /srv/www/web105/html/bf2stats/src/functions.inc.php on line 755

Warning: updateplayeratt(): Failed opening 'conf/config.inc.php' for inclusion (include_path='.:/usr/share/php') in /srv/www/web105/html/bf2stats/src/functions.inc.php on line 755

Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in /srv/www/web105/html/bf2stats/src/functions.inc.php on line 757


Wenn ich aber die Datei im Browser anwähle gehts

hxxp://meine.domain.de/bf2stats/update.php

edit:
das hat geklappt, muß das in crontab rein ?
lynx -term=vt100 -dump hxxp://meine.domain.de/bf2stats/update.php
 
Zuletzt bearbeitet:
hmm,... macht irgendwie sinn das die php-datei übern webserver aufgerufen (und somit auch ausgeführt) wird...
 
komischerweise wenn ich zwei Einträge untereinander in crontab eintrage, arbeitet er nur den ersten Eintrag ab.
 
hmm... vllt. beim zweiten eintrag einfach nur vertippt? oder wird, wenn du die adresse aus dem zweiten eintrag mal im browser aufrufst evtl. ein passwort abgefragt? mehr würde mir jetzt spontan net einfallen...
poste doch mal, wie die aktuellen einträge aussehen und schau mal nach ob du nen fehler bzw. einen hinweis im log findest...
 
Hier, der erste funktioniert, der zweite nicht.

*/10 * * * * lynx -term=vt100 -dump hxxp://www.meinedomain.de/bf2stats/updateServer.php 2>&1>/dev/null
*/45 * * * * lynx -term=vt100 -dump hxxp://www.meinedomain.de/bf2stats/update.php 2>&1>/del/null

edit: War ein Schreibfehler drin :(

Ich hab aber noch ne Datei mit Passwort wie mach ich denn das dort ?
 
Zuletzt bearbeitet:

Ähnliche Themen

Runlevel Editor

Statistikprogramm R

sed im script per crontab

HP PSC 2175 - CUPS druckt nicht

Xubuntu - AVR32-linux crosscompile sqlite

Zurück
Oben