PHP-Datei per Cronjob ausführen ?

Maxe

Registered User
Hallo zusammen,

ich habe einen Manager-Server bei Vanager und habe die auch schon wegen meinem Problem angeschrieben aber leider können sie mir irgendwie nicht helfen.

Ich habe eine PHP-Datei die nichts weiter amcht als ein paar Daten in ne Datenbank zu schreiben und 2 echo Befehle, das wars.

Und jetzt will ich das diese Datei z.b. jeden Tag um 14Uhr ausgeführt wird.
Wie muss der Befehl lauten den ich im Confixx Crontab eintrage?

Hab schon super viel gegoogelt und ausprobiert, die Datei wird einfach nicht ausgeführt.

Wie muss der Befehl für ne normale PHP-Datei lauten wenn man die ausführen will?

Wäre euch sehr dankbar, bin jetzt schon 5 Tage am ausprobieren und langsam heule ich :(

Gruß Maxe
 
Der Befehl lautet:
/usr/bin/php /pfad/zur/php-datei.php

Eventuell musst du den Pfad zur php-bin noch anpassen. Aber normalerweise liegt sich in /usr/bin
 
Was passiert denn wenn du die Datei auf der Shell so ausführst:
/usr/bin/php /var/www/web0/html/test.php
 
Ich habe keinen root-Zugriff weil ich nen Managed-Server habe.

Deswegen steh ich doch wie ein Ochse vor dem Berg ;)

Kann ich irgendwie rausfinden ob /usr/bin/php richtig ist?

Maxe
 
Nen normaler Shell zugriff reicht dir. Brauchst kein Root. Ich denke die Rechte sind nicht gesetzt. Setz die Datei mal zum Beispiel auf 755. Ansonsten den pfad zu PHP kannst du mit ner phpinfo() Seite rausfinden.

Gruß
 
Ich habe sie ein Script reingemacht was mir Infos über den php-Pfad sagen soll.

Kann das die Info sein:
Configuration File (php.ini) Path: /etc/php4/apache2/php.ini

Ich bin leider kein Server-Profi, deswegen auch der Managed ;)

Gruß Maxe

PS: Die Rechte von der test.php hab ich schon auf 777 gesetzt!
 
Last edited by a moderator:
Führe doch bitte in der Shell mal einfach das hier aus und sag mir was dir die Shell dann sagt:
/usr/bin/php /var/www/web0/html/test.php
 
chmod 777 file.php ... *segmentation fault* no comment....

Und nein, das da oben ist nur der Pfad zur php.ini. Zur Not frag einfach den Support wo die PHP-File liegt, du hast nen Managed, dafür zahlste ;)

Gruß
 
Ich hab jetzt mit Putty versucht mich einzuloggen. Alle Benutzernamen udn PW ausprobiert. Ich komme nicht rein:

Access denied
No supported authentication methods left to try!

Ich denke das der Shell-Zugriff auch gesperrt ist für Managed-Kunden.

Werde morgen mal dort anrufen.

Gruß Maxe
 
Hallo!
Wozu root Zugang, wenn das eh ein normaler Benutzer ausführen soll?
- Normale Shell Anmeldung
- which php eingeben
- Pfad zu php merken (meist /usr/bin/php)
- crontab -e ausführen
- i für Insert
- 0 14 * * * /usr/bin/perl /pfad/zum/script/script.php > /dev/null einfügen
- <ESC><:><w><q>
- Fertig

mfG
Thorsten
 
Moin,
man koennte auch einen externen Dienstleister beauftragen, die PHP Datei zu bestimmten Zeiten zu starten.
Wenn man keine Cronjobs zur verfuehgung hat, ist das die einzige Loesung.
http://cronjob.de/ waere da zu nennen.. das ist kostenlos und auf 5 Minuten genau.
Einfach die URL zur Datei angeben und anklicken zu welchen Zeiten die Datei aufgerufen werden soll.
 
Das ist ja mal ein toller Service den ich noch gar nicht kannte.
Allerdings stolpere ich immer gleich über solche Sätze
wird eine freiwillige Gebühr von 12 Euro im Jahr fällig.
Wie kann etwas das freiwilllig ist "fällig" werden.... ;)
Sehr unvorteilhaft formuliert
 
Die 12 Euro sind nur von Noeten, wenn du minutengenaue Cronjobs brauchst.
Aber wer braucht das schon so genau.

Man kann damit sogar seine Serververfuehgbarkeit pruefen. Als ich das vor ca einem Jahr mal ausprobiert habe, hatte das noch nicht so ganz funktioniert. Vielleicht ist die Ueberpruefung mittlerweile besser geworden.
 
@djrick: So, ich habe jetzt Shell zugriff und den Befehl eingegeben:

/usr/bin/php /var/www/web0/html/test.php

Er bringt keine Meldung, also anscheinend alles ok. Aber das Script wurde nicht ausgeführt da kein neuer Eintrag in de Datenbank ist.

Wenn ich "whereis php" eingebe kommt auch der Pfad /usr/bin/php.

Wo kann das Problem jetzt noch liegen? Die php-Datei hat alle Rechte, also daran liegt es auch nicht.

Noch jemand eine Idee?

Danke für eure Mühen.
Maxe
 
So, erstes Erfolgserlebnis, mit dem Befehl...

wget http://www.meinedomain.de/test.php

...geht es. Wobei ich das nur aus einem Forum habe und nicht weiß was dieses Befehl macht und ob da eventuell noch Parameter in den Befehl gehören.

Aber es geht jetzt!

Kann mir jemand noch ein bisschen zu dem Befehl helfen?

Danke Maxe
 
Hallo!
Was steht eigentlich in test.php drin? Ich wäre da etwas vorsichtig mit dem ausführen irgendwelcher Scripte auf dem Server...

mfG
Thorsten
 
wget laedt die Datei einfach nur auf deinen Server.
Wobei, wenn alles richig laeuft, nur die gephraste Datei geladen wird. Dabei wird das Skript vorher natuerlich ausgefuehrt.

PS: Ich rate davon ab, irgend welche Befehle aus irgend welchen Foren ohne Pruefung zu uebernehmen ;) oder wie war das mit "rm -r /" ?

Ganz so wie Thorsten es meint.
 
Hallo
ich bitte um kontrolieren ob ich richtig gemacht und verstanden habe

frage1 kann ich alles über root machen für verschiene users ?


10 12 * * * /usr/bin/php /srv/www/web23/html/news/admin/cron.php > /dev/null
10 12 * * * /usr/bin/php /srv/www/web24/html/news/admin/cron.php > /dev/null

> /dev/null <<< ist das richtig ?

frage2 wie kann ich das einrichten ?


0 12 * * * web23 lynx http://www.xxxxxx.de/news/sitemap.php so oder muss ich auch da für was zu schreiben ?


frage 3

10 12 * * * /usr/bin/php /srv/www/web23/html/news/admin/cron.php > /dev/null das habe ich geschrieben und mit crontab -l gekuckt der drin heis das jetzt funz ? oder wie kann ich anderes checken ob der wirklich lauft

danke





Thorsten said:
Hallo!
Wozu root Zugang, wenn das eh ein normaler Benutzer ausführen soll?
- Normale Shell Anmeldung
- which php eingeben
- Pfad zu php merken (meist /usr/bin/php)
- crontab -e ausführen
- i für Insert
- 0 14 * * * /usr/bin/perl /pfad/zum/script/script.php > /dev/null einfügen
- <ESC><:><w><q>
- Fertig

mfG
Thorsten
 
Back
Top