Gelöst! Crontab mit Confixx - Korrekter pfad?
am 15.02.2009 - 19:56 Uhr in
Hi zusammen, unter anderem für eine automatische Aktualisierung des FeedAPI Modules bin ich am Einrichten eines CRONJOBS. Ich habe bei meinem Provider die CONFIXX Oberfläche, in der CRONTABS angelegt werden können. Ich habe jetzt schon alles mögliche nachgelesen, da ich mich mit dem Thema leider nur theorethisch auskenne. Ich schaffe es leider nicht, einen funktionierenden Befehl für den Crontab einzugeben.
--------------------------------
*/30 * * * * wget -q http://www.domain.de/cron.php > /dev/null
Unglaublich ... nach nur einem Tag habe ich einen Cronjob, der mir jede halbe Stunde meine cron.php aufruft und keine EMails sendet und auch noch keine Ausgabe schreibt! Das war ein echt hartes und frustrieerendes Stück Arbeit ...
Vielen Dank an "A.Langer" und "narres", die mir hier so klasse unter die Arme gegriffen haben! Ich mag diese Forum einfach :-)
- Anmelden oder Registrieren um Kommentare zu schreiben

Keiner hier unterwegs, der
am 16.02.2009 - 10:21 Uhr
Keiner hier unterwegs, der mit Confixx und Crontab auf seine cron.php zugreifen konnte?
Das hat nix mit Confix zu tun
am 16.02.2009 - 10:35 Uhr
Die cron.php ist nicht für den direkten Aufruf per CLI gedacht, sondern für den Aufruf per Browser (oder wget).
php /var/www/ph9xxxxx/html/cron.phpist also falsch!Der richtige Aufruf wäre etwas wie
wget http://..Dein Server../cron.phpBTW: Das CLI-Interface für Drupal ist DRUSH (http://www.drupalcenter.de/handbuch/14769)
Das ist nicht direkt ein
am 16.02.2009 - 10:51 Uhr
Das ist nicht direkt ein Confixx-Problem. Frag deinen Dienstleister mal besser für welche Programme du die erforderlichen Rechte hast dieser per Kommandozeile (also auch im Cron-Job) auszuführen.
Ich nehme mal an, den "normalen" wget hast du mit als erstes ausgetestet. Bringt natürlich nüscht, sollte dein Hoster dich wget nicht ausführen lassen. Kann man ohne Fehlermeldung aber aus der Ferne auch schwerlich etwas zu sagen.
Wie gesagt: Hoster fragen, konkret Problem schildern und das wget Beispiel mitliefern. Soll er dir ne funktionierende Alternative nennen.
Danke Ihr Beiden
am 16.02.2009 - 11:18 Uhr
Danke Ihr Beiden ...
http://..Dein Server../cron.php - hatte ich auch ausprobiert. Gab leider auch eine Fehlermeldung. Dann werde ich also mal meinen Provider fragen müssen. Auf jeden Fall Danke!
Wegen dem DRUSH Hinweis ... Sorry erschliesst sich mir jetzt nicht, was ich da finden kann? Willst Du mir sagen, dass es vielleicht mit ...html/cron klappen könnte? Ich werds auch nochmal ausprobieren :-)
Leider auch eine Fehlermeldung:
mit "php /var/www/ph9xxxx/html/cron" gibts die Mitteilung: Could not open input file: /var/www/ph9xxxx/html/cron
Jetzt lasse ich noch nen Versuch ohne "php" laufen und warte noch auf die Antwort meines Providers ...
Möchtest Du Drupal direkt
am 16.02.2009 - 11:29 Uhr
Möchtest Du Drupal direkt über PHP-CLI (Kommandozeile) ansprechen, dann benötigst Du Drush.
Das wäre dann etwa (je nach Install)
drush cron.Ein Aufruf von cron.php ist direkt per PHP nicht möglich, da sonst das ganze Environment von Apache fehlt. Sprich es sind keine internen PHP-Include-Pfade etc. gesetzt.
Als erstes solltest Du mal schauen, was passiert, wenn Du http://..Dein Server../cron.php in Deinem Browser aufrufst.
Klappt das und Du hast SSH-Zugang zu Deinem Server dan probiere ein wget http://..Dein Server../cron.php
Klappt das auch, dann kannst Du das mit Cron weiter probieren. Besser aber mit vollem Pfad zu wget. Cron hat evtl. andere Pfade als ein Shell-User.
Ich denke nicht, dass er
am 16.02.2009 - 11:31 Uhr
Ich denke nicht, dass er einen SSH Zugang hat.. ;)
http://..Dein
am 16.02.2009 - 11:41 Uhr
http://..Dein Server../cron.php gibt bei mir ne weisse Seite, aber sonst keine Probleme. Tja - und SSH habe ich leider nicht.
... und ich warte noch immer auf die Antwort meines Supports :-)
Alexander Langer
am 16.02.2009 - 12:09 Uhr
Ich denke nicht, dass er einen SSH Zugang hat.. ;)
Wer Drupal hat, der hat auch Shell-Zugang, wenn es der Provider nicht ausknipst.
Wer Cron-Zugang zu PHP hat, der kann das auch wieder anschalten :)
Ich mag Systeme ohne Vordertür und 42 Hintertüren.
Drupal ohne Shell-Zugang ist wie ein Gang nach Canossa.
narres schrieb Alexander
am 16.02.2009 - 12:23 Uhr
Ich denke nicht, dass er einen SSH Zugang hat.. ;)
Wer Drupal hat, der hat auch Shell-Zugang, wenn es der Provider nicht ausknipst.
Wer Cron-Zugang zu PHP hat, der kann das auch wieder anschalten :)
Ich mag Systeme ohne Vordertür und 42 Hintertüren.
Drupal ohne Shell-Zugang ist wie ein Gang nach Canossa.
Bneidenswert, wenn man das Wissen und Know How für die Hintertüren hat. aber man kann halt leider nicht alles wissen :-) Ich hatte ja Eingangs des Threads schon mal erwähnt, daß ich in diesem Gebiet eher Grob-Theorethiker bin.
PS.: Ich habe mir jetzt auch das Drush Modul angesehen, aber dort steht leider auch, dass man einen SHELL Zugang benötigt, um damit arbeiten zu können .... Blöd!
Sorry, das war auch so nicht
am 16.02.2009 - 12:29 Uhr
Sorry, das war auch so nicht gemeint wie es vielleicht angekommen ist. Was ich meinte, das war:
Wenn man technisch vom Hoster geknebelt ist, dann hat man eine ziemlich nervige Lebensaufgabe und eine Menge unötiger Probleme.
Vor allem dann, wenn man eben mal nicht die üblichen Standard-Sachen machen möchte.
narres schrieb Sorry, das
am 16.02.2009 - 12:41 Uhr
Sorry, das war auch so nicht gemeint wie es vielleicht angekommen ist.
Nein - keine Angst, kam jetzt nicht negativ rüber! Außerdem habe ich noch einen kleinen Hoffnungsschimer, ich habe eben erst Deinen Befehl "wget" von vorhin gelesen.
Und jetzt erhalte ich folgende Email:
--2009-02-16 12:35:02-- http://www.domain.de/cron.php
Auflösen des Hostnamen »www.domain.de«.... 85.xxx.xx.xx
Verbindungsaufbau zu www.domain.de|85.xxx.xx.xx|:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 0 [text/html]
cron.php: Keine Berechtigung
Kann nicht nach »cron.php« schreiben (Keine Berechtigung).
Das bedeutet ja schon mal, dass der CRON läft. DANKE! DANKE! Wie heisst es immer so schön, wer lesen kann, ist klar im Vorteil! *lach*
Da schliessen sich allerdings gleich Zusatzfragen an :-) Kann ich die Mailbenachrichtigung auch abstellen, oder gibts die immer als Zugabe?
Das klingt gut
am 16.02.2009 - 12:51 Uhr
wget tut's nur kann die Ausgabe von dem Befehl nirgendwo hingeschrieben werden.
Ganz hinten bei dem wget, da machst Du ein -O mit einen Dateinamen drann, wo Du auch hinschreiben darfst (z.B. /dev/null) und das sollte es dann gewesen sein.
Die Mail bekommst Du bei wget weg indem Du -q (für quiet) einstellst.
narres schrieb Wer Drupal
am 16.02.2009 - 12:53 Uhr
Wer Drupal hat, der hat auch Shell-Zugang, wenn es der Provider nicht ausknipst.
Wäre wünschenswert, aber in der grausamen Realität haben die meisten Shared Hosting Angebote ganz ganz sicher keinen SSH Zugang inbegriffen. Seien wir mal ehrlich: Die wenigstens können damit überhaupt etwas anfangen von daher wäre es Perlen vor die Säue geworfen und würde den Kunden nur unnötig Geld kosten, weil der Hosteer auf sämtlichen Servern eine Leistung bereitstellen und absichern müsste, die kaum jemand nutzt. In einem Markt, wo um jeden Cent gefeilscht wird, ist das so schlichtweg kalkulatorisch nicht drin.
Selbst als Fan der Kommandozeile bin ich übrigens nicht der Meinung, dass ein SSH Zugang zwingend nötig ist um mit Drupal klarzukommen.
narres schrieb wget tut's
am 16.02.2009 - 13:05 Uhr
wget tut's nur kann die Ausgabe von dem Befehl nirgendwo hingeschrieben werden.
Ganz hinten bei dem wget, da machst Du ein -O mit einen Dateinamen drann, wo Du auch hinschreiben darfst (z.B. /dev/null) und das sollte es dann gewesen sein.
Die Mail bekommst Du bei wget weg indem Du -q (für quiet) einstellst.
Vielen Dank, ist mir jetzt allerdings nicht klar, wohin mit den Anweisungen?
Derzeit sieht mein Befehl dermaßen aus:
"wget http://www.domain.de/cron.php"
bevor ich mir wieder nen "Wolf probiere ... wäre es dann:
"wget - q http://www.domain.de/cron.php - O" ???
Und ist das letzte ein Buchstabe, oder die Zahl? Nur um allen Mißverständnissen vorzubeugen, ich tippe ja auf den Buchstaben :-)
Alexander Langer
am 16.02.2009 - 13:10 Uhr
Dem ist schon korrekt: Man kann Drupal auch ohne Shell machen. Es ist nur vieles sehr viel umständlicher. Das ist aber kein Drupal-Problem, sondern betrifft alle anderen Web-Anwendungen in ähnlicher Weise.
Seien wir mal ehrlich: Ja, da hast Du schon Recht :)
wget - q http://www.domain.de/cron.php - O <dateiname>O wie Output
Ganz ehrlich: Ja du hast
am 16.02.2009 - 13:53 Uhr
Ganz ehrlich: Ja du hast schon Recht! :-P
Nochmal ich ... Mir scheint,
am 16.02.2009 - 15:32 Uhr
Nochmal ich ...
Mir scheint, ich bin echt zu blond für nen funktionierenden Cronjob.
Ich habe also bezüglich des Hinweises mit /dev/null diverse Versuche gestartet, unter anderem ein Verzeichnis angelegt unter /html/dev und da eine Datei null.txt reingelegt und mit 777 CHMOD versehen.
Die -q Anweisung lasse ich noch immer aussen vor, da ich ja erst einmal erreichen möchte, daß der Hinweis "Kann nicht nach »cron.php« schreiben (Keine Berechtigung)."
sich in wohlgefallen auflöst.
Wenn ich dann den Befehl
wget http://www.domain.de/cron.php -O/dev/null.txt
in meinem CONFIXX eingebe, dann gibts leider nur die Mail Fehlermeldung:
/dev/null.txt: Keine Berechtigung - und der CRON wird gar nicht mehr ausgeführt.
Ich dreh langsam echt am Rad! Es ist echt frustrierend, wenn man aufgrund des fehlenden Backgroundwissens auf "Try and Error" angewiesen ist, es aber trotz stundenlangen Probierens einfach nicht gebacken bekommt.
Könnte mir vielleicht doch noch jemand wirklich ausführlich für einen absoluten VOLL-DUMMIE erläutern, wie ich meinen funktionierenden Cronjob
wget http://www.domain.de/cron.php
dazu bringe, daß er mir zum einen keine Nachricht mehr sendet und zum anderen die Schreibberechtigung nicht mehr prüft? Wäre klasse - Danke! Ich schaffe es leider nicht :-(
/dev/null ist auf
am 16.02.2009 - 15:40 Uhr
/dev/null ist auf Unix-Systemen ein Pseudo-Gerät (Geräte sind in Unix im Verzeichnis /dev als Pseudo-Dateien eingehängt). Alles was du da reinschiebst, kommt nicht wieder raus. Quasi ein Mülleimer ohne Restore, ein schwarzes Loch, Nirvana, ...
Wenn du also eine Ausgabe protokollieren willst, bringts dir wenig die ins Jenseits zu schieben ;)
Wenn du keine Ausgabe willst, dann mach mal nach -O ein Leerzeichen und danach /dev/null (nix .txt oder so - Dateiendungen sind was für DOSen)
Das versuche ich dann doch
am 16.02.2009 - 15:46 Uhr
Das versuche ich dann doch glatt mal mit:
wget http://www.domain.de/cron.php -O /dev/null
Ich glaube diese Version fehlte mit bei meinen "drölf" bisherigen Versuchen eh noch :-) Und Danke für die Erklärung ...
Wenn Du jetzt keine
am 16.02.2009 - 15:56 Uhr
Wenn Du jetzt keine Schreibberechtigung nach /dev/null hast (manche Hoster sperren das), dann schreib einfach nach /var/www/ph9xxxxx/html/2delete.txt
wget http://www.domain.de/cron.php -O /var/www/ph9xxxxx/html/2delete.txtnarres schrieb Wenn Du
am 16.02.2009 - 16:09 Uhr
Wenn Du jetzt keine Schreibberechtigung nach /dev/null hast (manche Hoster sperren das), dann schreib einfach nach /var/www/ph9xxxxx/html/2delete.txt
wget http://www.domain.de/cron.php -O /var/www/ph9xxxxx/html/2delete.txtDoch ... die scheine ich zu haben, hatte eben folgende Mail:
Auflösen des Hostnamen »www.domain.de«.... 85.190.21.65
Verbindungsaufbau zu www.domin.de|85.xxx.xx.x|:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 0 [text/html]
In »/dev/null« speichern.
0K 0,00 =0s
2009-02-16 15:56:02 (0,00 B/s) - »/dev/null« gespeichert [0/0]
So jetzt habe ich nochmal das -q reingepackt und bin schon mal sehr gespannt, ob jetzt die Mailbenachrichtigung auch noch abgestellt wird? :-)
wget -q http://www.domain.de/cron.php -O /dev/null
Bis jetzt gibts noch Nachrichten, aber kann auch sein, dass das CONFIXX noch nicht aktualisiert wurde.
Ich habe ja heute ne Menge zu dem Thema "ergoogled" ... wäre es vielleicht noch ne Option
--q oder
--quite zu nutzen, wenn das -q wieder mal nicht klappt?
Aber schonmal Vielen Dank Euch Beiden, daß Ihr bisher soviel Geduld mit mir "Deppen" bewiesen habt :-)
Und nochmal ich, nach
am 16.02.2009 - 16:40 Uhr
Und nochmal ich, nach einigen weiteren Testreihen :-)
wget -q http://www.domain.de/cron.php -O /dev/null
sendet leider auch weiterhin Emails mit Vollzugsmeldung des CRONJOBS.
Mittlerweile hat auch mein Support geschrieben, daß die weitergehende Mailbenachrichtigung mit > /dev/null beendet werden könnte.
Deshalb noch zwei Testreihen mit:
wget -q http://www.domain.de/cron.php -O > /dev/null
und mit:
wget -q http://www.domain.de/cron.php > /dev/null
...gefahren und natürlich klappt es wieder nicht ... wenn ich mir überlege, daß ich jetzt schon geschlagene 8 Stunden an einer blöden Eingabezeile mit nichtmal 60 Zeichen "rumkaspere" - dann ist das echt zum heulen :-(
Haben meine beiden bisherigen Retter und Gönner noch nen finalen Tip für mich?
Falls nicht, dann ists auch nicht weiter tragisch. Dann lasse ich die Mails eben einfach per Nachrichtenregel im Outlook löschen ...
Versuch dann mal
am 16.02.2009 - 16:42 Uhr
wget -q http://www.domain.de/cron.php -O /dev/null >/dev/null 2>&1wget -q
am 16.02.2009 - 16:43 Uhr
wget -q http://www.domain.de/cron.php -O /dev/null > /dev/null
oder
wget -q http://www.domain.de/cron.php -O /dev/null &> /dev/null
oder
wget -O - -q http://www.domain.de/cron.php &> /dev/null
oder
...
:)
Alexander Langer
am 16.02.2009 - 16:51 Uhr
oder
...
:)
Damit kannst Du mich heute nicht mehr schocken :) - Ich teste heute noch jede erdenkliche Möglichkeit aus, solange, bis es klappt ... *lach*