Archiv verlassen und diese Seite im Standarddesign anzeigen : Confixx Crontab
Hallo,
Ich hab mir für die wichtigen Cron nun Crontabs bei meinem Hoster genommen nur irgendwie wollen die nicht so richtig laufen.
Eingetragen hab ich sie so mal anfangs.
0 1 * * * /var/www/web109/html/crons/refzahlungen.knt.php
Zuerst kam Permision Denied, dann hab schreibreichte gegeben, dann kam
/var/www/web109/html/crons/refzahlungen.knt.php: line 1: ?: No such file or directory
/var/www/web109/html/crons/refzahlungen.knt.php: line 3: //: is a directory
/var/www/web109/html/crons/refzahlungen.knt.php: line 4: syntax error near unexpected token `('
/var/www/web109/html/crons/refzahlungen.knt.php: line 4: `$refdaten = mysql_fetch_array(db_query("SELECT `re1`,`re2`,`re3` FROM ".$db_prefix."_seitenkonfig"));'
dann hab ich so probiert...
0 1 * * * /var/www/web109/html/cron.php?id=6&pw=Passwort
da kam aber nichtsmal eine mail mit infos und ausgeführt würde der befehl auch nicht.
Jetzt bin ich irgendwie am verzweifeln.
Hoffe ihr könnt mir weiterhelfen.
Liebe Grüsse
Markus
der direkte aufruf funktioniert nicht, da in "neuen" versionen des vms die crons generell über die cron.php mit zugehörigem passwort (GET variable) aufgerufen werden sollten und meist auch müssen.
nur mit GEt anhängseln kommt das ganze system meist nicht so gut klar, dazu gibts verschiedene methoden:
/usr/bin/php5 -q -c /etc/php5/apache2 /var/www/web123/datei.php?foo=bar
/usr/bin/php5 /var/www/web123/datei.php?foo=baroder auch:
/pfad/zu/php /prad/zu/datei.php param1 param2 param3oder auch:
wget http://deineurl.de/datei.php?foo=bar (http://www.borg-nexus.com/test_echo.php)am ende ein:
> /dev/nullsollte verhindern, dass ne email verschickt wird?
dann evtl der datei noch die benötigten rechte geben, an sich sollte chmod 750 ausreichen
hm, auf jeden fall gibt es immer ganz verschiedenen möglichkeiten, weiß nicht, wie das in confixx genau läuft, welche version verwendet dein hoster da?
alternativ einfach mal an den support vom hoster wenden, oder in die FAQ sofern vorhanden schauen.
Version 3 Professional.
Ist der selbe Server wo auch Designerscripte liegt.
Ich teste die sachen mal durch :)
Test 1 mit wget:
--12:12:01-- http://www.domain.de/crons/lotto.knt.php?foo=bar
=> `lotto.knt.php?foo=bar'
Resolving www.domain.de... 87.xxx.xxx.25
Connecting to www.domain.de|87.xxx.xxx.25|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4,349 (4.2K) [text/html]
lotto.knt.php?foo=bar: Permission denied
Cannot write to `lotto.knt.php?foo=bar' (Permission denied).
obwohl ich schon 777 gegeben hab :D
Test2 mit: /usr/bin/php5 /var/www/web123/datei.php?foo=bar
Could not open input file: /var/www/web109/html/crons/lotto.knt.php?foo=bar
Test3 mit: /usr/bin/php5 -q -c /etc/php5/apache2 /var/www/web123/datei.php?foo=bar
Could not open input file: /var/www/web109/html/crons/lotto.knt.php?foo=bar
Kann das sein das die datei irgendwie geschützt ist?
Puhh, ich glaub ich habs jetzt, aber das mit dem wget war ein guter Ansatz.
Sogar Passwortgeschützt ^^
Also der Befehl lautet:
wget http://www.deinedomain.de/crons/datei.php?login=deinpw
In der Datei müsst ihr folgendes dazugeben fals es da nicht so ist.
<?
if ($_GET['login'] != "deinpw") {
exit;
}
ignore_user_abort(true); //damit es nicht abgebrochen wird
@require_once ('../lib/functions.lib.php');
db_connect();
Am schluss dann wieder schliessen.
db_close();
?>
CHMOD hat 644 gereicht.
Ich weiss dbconnect in einem cron ist ungewöhnlichim 1.2er, aber da greift er ja nicht über die cron.php zu :D
Vielleicht kann das wer beizeiten auch nochmals testen und bestätigen.
Wäre sicher für mehrere Interesannt.
Liebe Grüsse
Markus
wget -q "http://domain.de/crons/cronname.php?pass=PW"
aber gehst du so nicht mit der kirche ums dorf?
warum nicht:
wget http://www.deinedomain.de/cron.php?pw=deinpw&id=X (http://www.deinedomain.de/crons/datei.php?login=deinpw)
oder funzt das nicht, wenn man noch per &... was dran hängt?
so wäre es besser,d a man
a.) nicht alle crons umschreiben muss &
b.) so der cronaufruf auch in der datenbank verzeichnet wird
(update vms_crons set laufzeit ...)
Genau ^^
das & funkt nicht. da nimmt er das nachstehende nicht mehr.
daher hab ich mir gedacht, dann bau ich die funktion halt direkt ins cron ein.
Ist zumindest halt "eine" Lösung einmal.
Ja stimmt. Der Cronlauf wird nicht verifiziert in der DB. Das könnte man auch im Cron noch "zubaun"
wget -q "http://domain.de/crons/cronname.php?pass=PW"
Wieso das -q? --- Ahhh, wegen Mail, oder?
...
Wieso das -q? --- Ahhh, wegen Mail, oder?
‘-q’
‘--quiet’
Turn off Wget's output.http://www.gnu.org/software/wget/manual/html_node/Logging-and-Input-File-Options.html#Logging-and-Input-File-Options
an sich nicht wegen der mail?
btw:
teste mal das:
wget "http://www.deinedomain.de/cron.php?pw=deinpw&id=X"
so sollte es afaik funktionieren (das -q kannst du ja auch noch einfügen)
kommt dann noch ne mail odernicht?
ansonsten noch mit:
> /dev/null
oder auch:
>& /dev/null
am ende versuchen
bei -q kommt keine mail mehr.
Das andere test ich eben mal.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.