Cron Job für Ultrastats tut nicht

Morgo87
Hallo,

ich hab mir mal hier alles durchgelesen zum Thema Cron Job und hab es nun auch genau so gemacht, Doch leider will der Job nicht so.

Zur info ich benutz den Job von all-inkl.com dort liegen auch die maps zum dl der Gameserver allerdings liegt auf einem anderen Server.

runparser_full sieht wie folgt aus:

#!/bin/sh
cd /http://rockdays.de.dd16126.kasserver.com/Hellzone/contrib/
php4 ../admin/parser-shell.php fullupdate 1 MEINFTPPASSWORT
php4 ../admin/parser-shell.php runtotalstats

Und so sieht mein Cron Job aus:

Optional füge ich noch die Ultrastats Admin Einstellungen ein. Also falls ihr einen Fehler entdeckt bitte sagen!

So ich hoffe das mir nun jemand helfen kann bzw sagen kann warum der Job seine Arbeit nicht macht.
Kelli
Geht nicht per url. Jedenfalls nicht ohne Hack. Kuggst du Ultrastas Script
MikeTNT
Fangen wir von vorne an:
Wenn du dich in Ultrastats als Admin einloggst, kannst du dann Ultrastats manuell ausführen (=Download logfile, parsen und anschließend Total/Final Berechnungen starten)?

Falls ja, ist dies schon mal die halbe Miete.

Bezüglich Cronjob aufrufen:
Die Zeile müßte irgendwie so aussehen:
www.rockdays.de.dd16126.kasserver.com/Hellzone/contrib/

Bezüglich runparser_full-Script:
Dort darf nur der "echte" Pfad drinstehen. Da dir bei rockdays vermutlich die Rechte fehlen, diesen Pfad zu sehen, müßtest du dich an deinen Support wenden.

#!/bin/sh
cd /INTERENER/KOMPLETTER/PFAD/ZU/Hellzone/contrib/
php4 ../admin/parser-shell.php fullupdate 1 FTPPASSWORT
php4 ../admin/parser-shell.php runtotalstats

Wenn das nicht klappt, hat Kellerkind vermutlich recht und es geht nicht.

cu Mike
Morgo87
@ Kellerkind

Hab mir das mal angeschaut und versucht aber das kann doch nicht sein das ich dann 4 Cron Jobs dafür brauche. Das wiederspricht ja schon dem Sinn eines Cron Jobs in meinen Augen...

Oder hab ich das nur Falsch verstanden?

Das nächste was mir aufgefallen ist das er beim Parsing Fehler meldet.
Ein teil davon ist das hiier:

3 Warning Gamelog Attention, gamelogtime was restarted from 737 seconds to 0 seconds

14 Error Parser_RemovePlayer Player with GUID '278612' is not in the current playerlist!

15 Information Gamelog Processed in 0.0013 | 165 lines of 3663 | 0, 1, 0 SEL,INS,UPT

16 Warning Gamelog Attention, gamelogtime was restarted from 99 seconds to 0 seconds


17 Error Parser_RemovePlayer Player with GUID '278612' is not in the current playerlist!

18 Information Gamelog Processed in 0.0095 | 168 lines of 3663 | 0, 1, 0 SEL,INS,UPT

19 Information Gamelog Processed in 0.0011 | 170 lines of 3663 | 0, 1, 0 SEL,INS,UPT

20 Warning Gamelog Attention, gamelogtime was restarted from 723 seconds to 0 seconds


Bin mir jetzt nicht sicher ob die harmlos sind und ich verstehe auch den Grund für die Fehler nicht.



@MikeTNT
Ultrastats manuell ausführen (=Download logfile, parsen und anschließend Total/Final Berechnungen starten) geht halt mit dem beschriebenen Fehler (siehe oben)

Aber was meinst du mit echtem Pfad? das ist doch der echte Pfad.
Der Ordner für der Script befindet sich Mainverzeichnis/Hellzone(Hellzone=Ultrastatsordner)

Somit müsste doch dein Vorschlag mit:
www.rockdays.de.dd16126.kasserver.com/Hellzone/contrib/
richtig sein. Werde das auch mal versuchen.




Ach nochwas. Was habt ihr bei
Debug Modus
(Schreibsperre für die letzten Log Zeilen (nur für den Debug Modus)
Eingestellt? Ich hab auf Information. Ist das falsch?
Kelli

Zitat:

Original von Morgo87
@ Kellerkind

Hab mir das mal angeschaut und versucht aber das kann doch nicht sein das ich dann 4 Cron Jobs dafür brauche. Das wiederspricht ja schon dem Sinn eines Cron Jobs in meinen Augen...

Naja, es ist nicht so gedacht das man es als Script über den Webserver ausführen lässt. Die runparser_full.sh steht für SHELL Script, die erste Zeile lautet:
#!/bin/sh
bin/SHELL

Das ganze ist dafür gedacht das es local auf der selben Maschine ausgeführt wird, da kommen die Cron Jobs nämlich her - und da gehören Sie hin. Die ganzen Dienste wie Cronjob.de sind eigentlich "Zur richtigen Zeit eine Url anklicken" Dienste.

Es ist möglich das so umzubasteln das es auch über einen Webserver läuft, schließlich kannst du Sie ja auch Manuell über einen Webbrowser aktuallisieren. Aber, siehe anderer Fred, das ist halt ein böser Hack mit anderen Nebenwirkungen (Timeout, Umgehung des Sicherheitskonzept, Hohe Last für den Webserver, Je eine Url für Download logfile, parsen und anschließend Total/Final Berechnungen starten etc,...)

Die ANtwort lautet: geht nicht wenn du nicht Shellzugriff auf die Maschine hast.
Morgo87
Genau das mit der Sicherheit ist ein großes Problem davon. man muss ja all seine Einstellungen der Öffentlichkeit zugänglich machen und man kann zwar einen Verzeinisschuttz drauf machen aber andere Leute können trotzdem an den Stats rumpfuschen bzw. sie aktualisieren.

Aber eins ist mir immer noch nicht klar (ich weiß ich nerv Augenzwinkern )
Ist es mir also nicht Möglich per Cron Job die Stats zu aktualisieren ohne das ich diese Sicherheitslücken in kauf nehme?

Und noch eine Frage was genau meinst du mit Shellzugriff? Den Cron Job?
Nightwing
mit shellzugriff meint er den direkten zugriff per putty oder winscp etc
Nightwing
noch ne frage zu ultrastats:

ich klick auf ftp download log datei, dann start ich den parser, und dann total final berechnungen

schön

mach ich dieselbe prozedur beim zweitenmal später, parst er wieder das gesamte file und alle angezeigten player haben die doppelte anzahl von allem, er addiert dazu

nicht schön

was mache ich da falsch??

ausserdem zeigt er manch player nicht an, auch wenn din ist, das er ab 1 kill / 60 sec jemanden zeigen soll...

anmerkung: dateirechte der logdateien und des gamelog ordners sind 777


ToM