OVH Community, your new community space.

Cronjob wird nicht ausgeführt


Black
31.03.09, 21:38
Danke! Jetzt funzt es endlich!
Sind oft Kleinigkeiten

Mein jeziger Crontab:
Code:
*/5 * * * * /usr/local/bin/php5 /home/user/www/crontab/icq_check.php
//EDIT

Zitat Zitat von schwarzlicht
Probiere das doch mal so (als root und mit php ohne die 5)
Es wird als root ausgeführt allerdings hab ich es mit Webmin geändert und schnell herauskopiert!

Zitat Zitat von schwarzlicht
wenn das nicht will fehlt vielleicht nur ein
Code:
apt-get install php5-cli
Naja wird bei mir nicht viel bringen hab gentoo oben

Trotzdem nochmal Danke für die Anworten

mfg

schwarzlicht
31.03.09, 21:36
Code:
0-59 * * * * root php /home/user/www/crontab/icq_check.php
Probiere das doch mal so (als root und mit php ohne die 5)

EDIT:
wenn das nicht will fehlt vielleicht nur ein
Code:
apt-get install php5-cli
??

F4RR3LL
31.03.09, 21:02
gib mal den kompletten pfad zum php5 an im cron

Black
31.03.09, 20:45
Hallo!
Wollte keinen neuen Thread öffnen hab das selbe problem und zwar wird mein crontab einfach nicht ausgeführt!

Mein Crontab:
Code:
0-59 * * * * php5 /home/user/www/crontab/icq_check.php
In der cron.log steht:
Code:
Mar 31 20:39:01 r20355 cron[10474]: (root) CMD (php5 /home/user/www/crontab/icq_check.php)
Wenn ich per Webmin auf "Jetzt ausführen" gehe funzt das super, aber automatisch leider nicht.

sledge0303
11.07.07, 17:03
Hast du php als fcgi oder modular installiert?

Mach mal vorher ein /usr/bin/php5-cgi bzw. /usr/bin/php5 daraus.
Nur 'php', ob das funkt keine Ahnung, meine Skripte sehen sowohl im Aufruf als auch der Cron Eintrag an Sich anders aus.

Ich erstelle ein Shellkript, darin wird definiert was gesichert werden soll und anschließend erfolgt das tatsächliche Backup. Egal ob PHP Skripte, LDAP, PgSQL Datenbanken... etc pp.

Einfach mit 'php /etc/pp/file.php' eine Datei sichern... hmmmm

paul_panzer
11.07.07, 15:37
crontab -l -u root
Deaktiviere die ersten 4 und danach sollte es gehen.

tobi74
11.07.07, 14:04
Tja liebe Helfer, leider haben alle Tipps nicht zum gewünschten Ergebis geführt. Bei meinem Cronjobs stehen noch andere Sachen im Webmin menü:

Ja rm -f /var/spool/cron/lastrun/cron.hourly
Ja rm -f /var/spool/cron/lastrun/cron.daily
Ja rm -f /var/spool/cron/lastrun/cron.weekly
Ja rm -f /var/spool/cron/lastrun/cron.monthly
Ja test -x /usr/sbin/run-crons && /usr/sbin/run-crons
Ja /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null

Könnt Ihr mir bitte sagen ob das alles so richtig ist und was die einzelnen Einträge bewirken? Diese stehen von Anfang an dort. Danke.

http://www.free-klingeltoene-handy.de/screen.gif

flosoft
29.06.07, 16:20
Zitat Zitat von sledge0303
Dann wollen wir mal hoffen, dass der OP das Problem selbst gelöst bekommt.
Eingreifen würde ich persönlich nicht, es sind genügend Hinweise, Links gepostet worden und damit sollte es eigentlich klappen.
Wenn du ihm den jetzt Cronjob einrichtest, steht er spätestens beim nächsten vor dem selben Problem IMHO.

Gruss Thomas
Ja. Die Tutorials sind eigentlich sehr deutlich. Das einzige was sonst vielleicht was bringt ist ne Screen Session.

sledge0303
29.06.07, 16:18
Dann wollen wir mal hoffen, dass der OP das Problem selbst gelöst bekommt.
Eingreifen würde ich persönlich nicht, es sind genügend Hinweise, Links gepostet worden und damit sollte es eigentlich klappen.
Wenn du ihm den jetzt Cronjob einrichtest, steht er spätestens beim nächsten vor dem selben Problem IMHO.

Gruss Thomas

Angie
29.06.07, 14:34
Hallo !

oh keine Sorge, wenn ich was böse nehmen würde dann sicher von jedem ausser von Leuten wie sledge, Fritz, Crash, bene oder TF_SChw@rZl!cht z. Bsp.
Ich lese euch ja jetzt nun schon eine ganze Weile.

na weil ich nicht gesehen hatte das er es mit crontab -e macht <= steht auch da, ich hab nur halb gelesen was er da genau macht. Deine Frage war also ganz zu recht gestellt.


Angie

sledge0303
29.06.07, 13:42
Zitat Zitat von Angie

na weil ich nicht gesehen hatte das er es mit crontab -e macht.

Ich teste generel solche Sachen mit /etc/crontab.
Packe die Linien rein und starte crond neu.

Anhang:
Wenn der Supportschlüssel drauf ist kann ich ja mal nachschauen.
Hallo Angie,

es war keine böswillige Aussage von mir, hat mich nur in dem Zusammenhang gewundert wie du auf einen Neustart des Dienstes kommst...

flosoft
29.06.07, 11:41
Zitat Zitat von Angie
Hallo,

na weil ich nicht gesehen hatte das er es mit crontab -e macht.

Ich teste generel solche Sachen mit /etc/crontab.
Packe die Linien rein und starte crond neu.

Es gibt unter Linux immer viele Methoden zum gleichen Ziel zu kommen.

Gruss,
Angie
Viele Wege führen nach Rom.

Angie
29.06.07, 11:38
Hallo,

na weil ich nicht gesehen hatte das er es mit crontab -e macht.

Ich teste generel solche Sachen mit /etc/crontab.
Packe die Linien rein und starte crond neu.

Es gibt unter Linux immer viele Methoden zum gleichen Ziel zu kommen.


Gruss,
Angie

Anhang:
Wenn der Supportschlüssel drauf ist kann ich ja mal nachschauen.

sledge0303
28.06.07, 23:51
Zitat Zitat von Angie
also nachdem du den cron eingefügt hast, hast du auch crond neugestartet?
Aus welchem Grund soll crond neu gestartet werden?
Es werden keine Änderungen an der Konfiguration vorgenommen, lediglich ein neuer Job erstellt. Das wäre das selbe, wenn man den Webdaemonen erneut starten müsste, weil neue html Seiten in die htdocs eingefügt werden.

Zitat Zitat von tobi74
wenn man über crontab -e das macht, die Änderungen sofort aktiv sind.
siehe oben, du erstellst den Job und der wird dann auch auftragsgemäß ausgeführt ohne das crond neu gestartet werden muss.

Erstellung eines Crontabs
crontab -e -u $user
Du kannst nach Erstellung des Crontabs mit folgender Eingabe überprüfen, welche Cronjobs für den User $user ausgeführt werden sollen:

crontab -l -u $user

Wie ein Cronjob aussehen muss, hab ich dir schon beschrieben. Deutlicher geht es wirklich nicht mehr!
Vielleicht hilft dir ja dieses Howto zusätzlich weiter!

flosoft
28.06.07, 22:34
more /var/log/cron

tobi74
28.06.07, 22:31
Hi, habe es mal eingebaut, aber kein Erfolg. Es funktioniert nicht. Du hast geschrieben, dass ich crond neu starten soll, wie mache ich das ? habe im Netzt gelesen, dass wenn man über crontab -e das macht, die Änderungen sofort aktiv sind.

was steht in /var/log/cron ? Hast du auch mal so probiert?
--> was muss ich dazu im ssh eingeben? gebe Dir dann gern das Ergebnis daraus.

Besten Dank Tobi

Angie
26.06.07, 21:05
Hallo,

also nachdem du den cron eingefügt hast, hast du auch crond neugestartet?
Wenn ja: was steht in /var/log/cron ? Hast du auch mal so probiert?
Code:
* * * * * root /usr/local/bin/php /home/otr/www/otrspecial.php
Gruss,
Angie

tobi74
24.06.07, 09:31
Alo, habe jetzt alles probiert. Komisch ist nur, dass man im Admin-Menü den Cronjob manuell starten kann, da funktioniert alles. Die Crontab sieht so aus:

0 12 * * * php /home/otr/www/myOTR_autoFTP_all_cron.php
0 0,3,6,9,12,15,18,21 * * * php /home/otr/www/myOTR_autoFTP_all.php
0 0,3,6,9,12,15,18,21 * * * php /home/otr/www/otrspecial.php

Woran kann das bloss liegen das der Job nicht automatisch läuft. Auch mit $root oder $otr habe ich gesielt mit und ohne $ - manuell immer möglich, automatisch nicht.

sledge0303
24.06.07, 09:08
Wenn du eine Shell ausführen willst - ok. Was eine PHP Datei betrifft, kann es ausreichen, wenn die Datei direkt ausgeführt wird. Kommt darauf an, welchen Nutzen du daraus schließen willst und was für Funktionen drin stehen.

Willst du z.B. ein IPTables Skript erstellen und alle 3 Stunden neu starten, würde das Skript unter Debian so aussehen:
Dazu per crontab -e das Kommoando erstellen, s.o. und das entsprechende Skript:
#!/bin/sh

IPTABLES="/sbin/iptables"

$IPTABLES -I INPUT -s 0.0.0.0/24 -j DROP
...
...
So funktioniert es auch mit reinen Shell-Skripten, hängt davon ab welches OS du nutzt was den Syntax betrifft.

tobi74
24.06.07, 00:39
ok, danke, hier nochwas dazu:

Muss in der Contab noch irgendwas vorher stehen, wie z.B.


SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/home/otr/www/

ist das hier immer gleich:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin

? Danke für die Hilfe

flosoft
23.06.07, 23:19
Nur root

tobi74
23.06.07, 23:06
Hallo, besten Dank, werde das mal testen, eine frage noch:.

$user

wenn ich das als root ausführen will muss ich dasn $root oder nur root schreiben?

Muss in der Contab noch irgendwas vorher stehen, wie z.B.


SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/home/otr/www/

ist das hier immer gleich:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin

? Danke für die Hilfe

sledge0303
23.06.07, 21:49
man crontab hilft auch weiter, will aber mal nicht so sein

1. 0
2. 1,4,7,10,13,16,19,22
3. *
4. *
5. *
6. $user
7. /pfad/zum/Skript
Erläuterung

1. Feld: Minute 0-23
2. Feld: Stunde 0-59
3. Feld: Tag im Monat 1-31
4. Feld: Monat 1-12
5. Feld: Wochentag 1-7
6. Feld: berechtigter User
7. Feld Pfad zum Skript
In einer Zeile sieht dein crontab so aus:
0 1,4,7,10,13,16,19,22 * * * $user /pfad/zum/skript

tobi74
23.06.07, 21:44
Hallo Angie, ich fahre am Montag in den urlaub und hab dort wahrscheinlich keinen Internetzugang. Wäre schön wenn ich eine Lösung bis dahin gefunden habe. Danke.

tobi74
20.06.07, 16:40
Hallo Angie,

ich komme da leider nicht weiter. Könntest Du mir bitte ein Beispiel machen wie die crontab aussehen muss, wenn ich musterdatei.php alle 3 stunden ausführen will?

angenommen die datei würde hier liegen:

/home/otr/www/musterdatei.php

das wäre super. danke.

Tobi

Angie
19.06.07, 13:04
Hallo,


dann halt einfach direct per shell die crontabs konfigurieren:

http://hilfe.ovh.de/AdministrationCronDedizierte
so funktioniert das Ganze.
Man kann dort dann " otr " anstelle des users root angeben.


Grüsse,
Angie

tobi74
12.06.07, 23:14
Hallo Angie, hatte zwischenzeitlich kaum Zeit mich um das Problem zu kümmern. fakt ist aber noch, ich kann die Cronjobs nur manuell starten.

Hatte mich mit Putty per SSH eingeloggt als root, so mache ich das auch über die Webmin Oberfläche.

crontab -e

gibt aus:

0 12 * * * php /home/otr/www/myOTR_autoFTP_all_cron.php
0 0,3,6,9,12,15,18,21 * * * php /home/otr/www/myOTR_autoFTP_all.php
0 0,3,6,9,12,15,18,21 * * * php /home/otr/www/otrspecial.php

trotzdem werden die scripte nicht zu den angegebenen zeiten ausgeführt. ich hoffe Du kannst mich nochmal irgendwie bei der Lösung des Problems helfen. Danke.

gruß
Tobi

Angie
17.03.07, 02:07
Hallo,

hat das jetzt inzwischen geklappt mit der cron?

Gruss,
Angie

Matrix
15.03.07, 18:55
ja, dann wird der cronjob allerdings als root ausgeführt und nicht als otr. auf jeden fall sollte es funktionieren.

aber ne php als cronjob ist eh etwas ungewöhnlich, funktioniert das überhaupt? braucht man da nicht eher ne .sh oder .java? weil php braucht ja den interpreter und .sh ist shellscript und kann direkt ausgeführt werden.

tobi74
15.03.07, 18:51
Wenn ich mich als root anmelde kann ich crontab -e eingeben und einen Job erfassen, ob das dann geht?

Matrix
15.03.07, 18:40
da kann ich dir leider nicht weiterhelfen, mit webmin kenn ich mich nicht aus, ich logg mich generell mit putty ein wenn ich mit windows arbeite oder direkt per ssh von meinem linux rechner

tobi74
15.03.07, 18:35
wenn ich crontab -e eingebe kommt: -bash: /usr/bin/crontab: Keine Berechtigung

Jetzt ist die Frage, wo ich im Webmin die Berechtigung erteile.

Matrix
15.03.07, 18:11
ja, du loggst per ssh ein mit dem user otr zum beispiel

dann gibst du ein: crontab -e

und die crontab auflistung für den user wird im editor geöffnet und man kann diese bearbeiten.


ne genaue anleitung wie cronjobs eingetragen werden und aufgebaut sind gibt es hier:

http://www.linux-user.de/ausgabe/200...on/cron-1.html


solltest du debian nutzen wird vi als standart editor gesetzt, solltest du evtl vorher auf nano umstellen.

update-alternatives --reconfigure editor

das eingeben und dann nano auswählen, danach dann crontab befehl neu ausführen.

tobi74
15.03.07, 18:04
Hallo, da brauche ich leider noch ein wenig Hilfe. Was muss ich wie genau machen? Der Cronjob ist jetzt: php /home/otr/www/myOTR_autoFTP_all.php

Du meinst jetzt einloggen mit z.B. Putty und dann?

Besten Dank für die Hilfe.

Matrix
15.03.07, 17:32
log mal auf der shell mit deinem user otr ein und füge den cronjob manuell ein, das sollte normalerweise funktionieren

crontab -e

tobi74
15.03.07, 17:24
Hallo, ich benötige einmal Hilfe bei den Cronjobs über Webmin.

Folgendes wurde gemacht. Wenn ich über das Webmin die Cronjobs aufrufe, kann ich auf ausführen gehen und dann geht der Cronjob auch, d.h. die aufzurufende php datei läuft.

Ich habe auf dem Server einen User otr angelegt, darin befindet sich auch die Webseite und das aufzurufende Script. Bei den Einstellungen für "Führe Cronjob aus als ..." hatte ich root eingestellt oder auch mal den User otr aber wenn ich dann auf "stündlich" ausführen gehe, passiert nichts, also ist zur Zeit nur die manuelle Ausführung möglich.

Das ist natürlich nicht Sinn des Cronjobs. Was kann ich machen? Bei der Auswahl "Ausführen als.." gibt es bei mir folgende Möglichkeiten:

adm adm
alias added by portage for qmail-ovh
bin bin
clamav added by portage for clamav
cron added by portage for cronbase
daemon daemon
ftp added by portage for ftpbase
halt halt
lp lp
mail mail
man man
mysql added by portage for mysql
named added by portage for bind
news news
nobody nobody
nut nut
operator operator
otr otr
ovh
portage portage
postfix postfix
postgres
postmaster postmaster
qmaild added by portage for qmail-ovh
qmaill added by portage for qmail-ovh
qmailp added by portage for qmail-ovh
qmailq added by portage for qmail-ovh
qmailr added by portage for qmail-ovh
qmails added by portage for qmail-ovh
qscand added by portage for qmail-ovh
root root
rpc added by portage for portmap
shutdown shutdown
smmsp smmsp
sshd added by portage for openssh
sync sync
uucp uucp
vpopmail added by portage for qmail-ovh

Besten Dank für die hilfe.
Gruß

Tobi