Archiv verlassen und diese Seite im Standarddesign anzeigen : Crons
Nun habe ich ja die möglichkeit verschiedene programme über crons laufen zu lassen, nur wenn ich die crons automtieren will bekomme ich als meldung, Keine crons mehr vorhanden.Könnt ihr mir da weiterhelfen?
Welchen Cronanbietr hast du, oder machst du das über dein Webspace/Server?
mh ja ich wollte es über meinen Anbieter machen, aber genau da habe ich meine probleme, gibt es denn anbieter?
jo, anshceinend hast du in deinem web-paket kein cronjob-feature freigeschaltet.
alternativen:
free anbieter dafür sind z.b.:
http://cronjob.de/
mh ok welches verzeichniss oder welche dateinen muss ich da eingeben, ich denke mal die aus dem verzeichnis /html/crons/stg_ads-im-netz.forcedbanner.php zum beispiel, wenn das so ist kann die vomm anbieter so gestartet werden ohne irgendwelche zugangsdaten
Bei cronjob musst du die url angeben die im adminforce verlinkt ist mit dem grünen button
wenn du es intern machst gehen vermutlich die ?passwort=xxxxxxx nicht
da dies crontab nicht unterstützt.
jo danke dir hab mich da mal registriert, und eigestellt mal sehen ob es klappt
wenn du es intern machst gehen vermutlich die ?passwort=xxxxxxx nicht da dies crontab nicht unterstützt.
Alternative?! ;) sitze nämlich grade anm gleichen Problem ... der erkennt das nicht :D
Würde die Crons nicht "ungeschützt" lassen wollen ...
Danke schonmal und beste Grüße
Jo
variante :
Aufruf
php /var/www,...../test.php 4
Auslese
$argv[0] == 4
Ist die Variable dann automatisch $argv[0]?
Habe jetzt einfach oben in der Cron-Datei folgende Zeile:
if ($argv[0] != 4) die ("Kein Zugriff");
Der Cron wird ausgeführt ... Aufruf:
php /var/www/webXXX/html/crons/cron_datei.php 4 >> /var/log/db_cron.txt
Das Schreiben in die txt-Datei mache ich nur bis es läuft ;-) vielleicht aber auch länger, kann ja eigentlich nicht schaden ...
Danke schonmal für den Tipp!
Beste Grüße
Jo
edit: Achja er schreibt "Kein Zugriff" in die Log-Datei ;)
die fariablen sind so angelegt, das du hinter
_datei.php 4
anhängen kannst was du willst
sprich
php /var/www/webXXX/html/crons/cron_datei.php 4 6 5 2 1 4
überprüfungen sind dan:
$argv[0] == 4
$argv[1] == 6
$argv[2] == 5
$argv[3] == 2
$argv[4] == 1
$argv[5] == 4
Alternative dazu sind auch die Rechte für den cronordner auf 700 Setztbar so kann die datei nur via FTP und Server Aufgerufen und bearbeitet werden.
Hmmm .... komisch ...
if ($argv[0] == 7) {
beantwortet er mir immer mit "Nein" ... also ich komme immer in den else Bereich ...
Ist dafür ne bestimmte Version von irgendwas (PHP, o.ä.) nötig? Ich meine ich hab PHP5 aber vielleicht gehts nur mit 4? :D Keine Ahnung ...
Jedenfalls habe ich oberen Code als erster in der CronJob-PHP-Datei stehen (natürlich nach <?) ...
Seltsam ...
Beste Grüße
Jo
Hmmm... Komisch....
Poste doch mal wie du die dateie aufrufst dan kann dir auch geholfen werden
Macht Sinn :D
das gibt "crontab -l" aus ... Ich habe die webnummer ausgetauscht in X und die 7 ist eigentlich auch keine 7 :D ist halt auch geändert ... aber im Script steht die richtige Zahl (also im If) ... habe die nur hier fürs Forum geändert ...
Sowohl so:
*/1 * * * * php /var/www/webX/html/crons/db_optimierer.php 7 >> /var/log/db_cron.txt
als auch so:
*/1 * * * * php /var/www/webX/html/crons/db_optimierer.php >> /var/log/db_cron.txt 7
Schreibt der mir Kein Zugriff (ausm die() in der else-schleife) in die txt-Datei ... vielleicht liegts daran, dass ich die Ausgabe in eine txt weiterleite?
Danke nochmal und beste Grüße
Jo
warum nicht einfach bspw. wget nutzen, und den Cron wieder ganz "normal" mit all seinen schönen GET Parametern aufrufen?
wget -q "http://.de/cron.php?id=xyz&pw=ppppppp"
Wollte nach nem Beispiel fragen was du wohl nachträglich eingefügt hast :D ich probiers mal aus!
Danke!
Beste Grüße
Jo
Läuft ;) ... Super Sache ...
Derzeit rufe ich den Cron so auf ... Die Ausgabe - Cron gelaufen - wird aber nicht in die Datei geschrieben ;)
Wenn du da auch noch nen Tipp hast, bist du der Größte :D
*/2 * * * * wget -q "http://www.klammbanking.eu/cron.php?id=XXXXX&pw=XXXXXXXXX" >> /var/log/db_cron.txt
Beste Grüße
Jo
hmm...sicher gehts auch mit buffer und in datei umleiten oder so, aber
1.) wieso willste das in die datei schreiben?
2.) benutz doch einfach statt printf, fprintf
if (!($fp = fopen('db_cron.txt', 'w'))) {
return;
}
fprintf($fp, "Cron gelaufen!");
Jo, das Logging macht keinen Sinn ... haste Recht ;) wollte es erstmal machen um zu prüfen ob alles läuft ;)
Läuft aber! Und das is ja die Hauptsache!
Jeder darf mal :D
Danke nochmal an alle für die Hilfe und der Thread kam mir auch sehr gelegen!!
Beste Grüße
Jo
Liegt an dem "-q", dass bedeutet "quiet", also "sei ruhig du wget" :biggrin1:
ohne dass würde dein code wohl funktionieren mit in datei schreiben, aber hab ich selber noch nicht getestet...
Achso ... dachte sonst würde die nicht "ausgeführt" werden ... weil nen wget ganz ohne paramter lädt die Datei einfach runter ...
Also wenn ich den normal als Befehl eingebe, denke als Cron verhält es sich dann genauso ...
Was sort denn dann dafür? Dass die Datei ausgeführt und nicht gespeichert wird?
Beste Grüße
Jo
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.