zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Script soll Logdatei beschreiben, funktioniert auch aber nicht als Cronjob

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 10.04.2007, 22:41
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 24.09.2003
Beiträge: 243
braindead befindet sich auf einem aufstrebenden Ast
Standard Script soll Logdatei beschreiben, funktioniert auch aber nicht als Cronjob

Hi,
ich da ein Problem mit Cronjobs. Ich habe ein php Script geschrieben welches zu testzwecken eine Log Datei beschreibst (und wenn sie nicht exisitent ist diese erstellt). Wenn ich dieses Skript vom Browser aus, ausführe (also wenn es von Webseitenbesuchern gestartet wird) dann funktioniert es problemlos, erstellt die datei und fügt einen Log Eintrag ein, bei jedem weiteren Aufruf trägt es einfach nur einen weiteren Logeintrag ein. Das Problem, ist nur das wenn die Datei als Cronjob gestartet wird dann trägt sie keinen Eintrag in die Logdatei ein, ich bin jetzt dabei zu Testen ob das Script es tut wenn sie die Logdatei vorher selbst erstellt hat (die Datei also dem Benutzer gehört welcher die Cronjobs ausführt) allerdings vermute ich das auch dies nichts bringen wird. Mein Provider hat keinen Fehler im Script festgestellt, und konnte mir nur mitteilen das es womöglich an den Benutzerrechten liegt. Das Verzeichnis hat die Benutzerrechte 755 (höhere kann ich auch nicht einstellen) und die per Browser erstellten Logdateien haben die Rechte 644. Dennoch funktioniert das Beschreiben der Logdatei per Browser. Was kann ich tun? Sollte ich den Benutzer auf den Cronjobbenutzer ändern? Wie finde ich den Namen des Cronjobnutzer herraus?
Was könnte es sonnst noch für Gründe geben wieso das Sript, wenn es als Cronjob gestartet wird (und das wird es), die Datei nicht beschreieben kann? Ich meine wenn der User mit dem über den Browser gestartetem Sript eine Log Datei beschreiben kann dann doch bestimmt nicht weil der Server den Browseruser als Besitzer der Datei erkennt oder doch? Vermutlich tut er das auch nicht, denn das PHP Script wird ja Serverseitig ausgeführt. Jetzt wo ich das schreibe ist es auch logisch. Allerdings löst es mein Problem dennoch nicht.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 11.04.2007, 00:27
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.026
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

755 heißt, dass nur der Inhaber schreibrechte hat, Gruppe und Welt haben nur Lese- und Ausführungsrechte. Möchtest du das jetzt immer per cron ausführen lassen, oder per hand anstoßen, oder beides?
Wenn du einfluss auf die crontab hast, dann kannst du da bestimmen mit welchem User der cronjob ausgeführt wird. Wenn du da keinen Zugriff drauf hast, dann kannst du höchstens die Rechte erhöhen. Die erste Lösung würde ich auf jeden Fall vorziehen.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 11.04.2007, 00:34
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 24.09.2003
Beiträge: 243
braindead befindet sich auf einem aufstrebenden Ast
Standard

Das mit 755 nur der Besitzer Schreibrechte hat ist schon klar, da die Sache aber über den Browser funktioniert aber nicht über den Cronjob, vermute ich das der Cronjobuser nicht der Browseruser ist (klingt jetzt blöd aber ich denke du /ihr wisst was ich meine). Deshalb wird es wohl nur so laufen das ich den Besitzer der log Dateien auf den Cronjob user Umstelle, denn leider darf ich bei meinem Provider oder Hoster, keine höheren Rechte als 755 vergeben. Also wird es wohl darauf hinauslaufen das ich das Skript nur per Cronjob ausführen kann, es wäre zwar nutzlich das auch Manuell ausführen zu können, aber da die Cronjob funktionalität zwingend nötig ist muss ich darauf verzichten.
Also werde ich jetzt mit einem anderen Script den Dateibesitzer auf den Cronjobuser umstellen müssen, da ich aber nicht weiß welcher User der Cronjobuser ist, versuchte ich gerade mit einem Cronjob ein Verzeichnis zu erstellen und daran dann den Username bzw. dessen ID ablesen zu können, ich bezweifele aber das das möglich ist denn, alle Verzeichnisse gehören dem selben Nutzer (dem PHP User) und haben alle die rechte 755, also wird der Cronjob wohl kein Verzeichnis oder auch nur eine Datei erstellen können, da er keine Schreibrechte besitzt.
Mit Zitat antworten
  #4 (permalink)  
Alt 11.04.2007, 00:38
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.026
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Was ist mit der crontab? Wie setzt du denn den cronjob rein? In der crontab wird normalerweise immer auch der User festgelegt unter welchem ein cronjob in dem Falle dein Skript gestartet wird. Da müsstest du einfach deinen www-User angeben und wärst damit deine Probleme los
Mit Zitat antworten
  #5 (permalink)  
Alt 11.04.2007, 00:54
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 24.09.2003
Beiträge: 243
braindead befindet sich auf einem aufstrebenden Ast
Standard

Ich drück es mal so aus, meine Seite wird von Kontent gehostet, und dort kann ich die Cronjobs nur rudimentär einstellen d.h. ich kann einen Zeitraum bzw. Zeitpunkt einstellen zu dem ein ebenfalls einstellbares Script ausgeführt wird und das war es dann. Mehr kann ich leider nicht machen.
Mit Zitat antworten
  #6 (permalink)  
Alt 11.04.2007, 01:00
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.026
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Dann würde ich das als "Fehler" beim Hoster sehe und da mal anfragen. Andere dürften da ja ähnliche Probleme haben, wenn die per cron gestarteten Skripte mit einem anderen User ausgeführt werden. Zumindest fragen schadet nichts...
Mit Zitat antworten
  #7 (permalink)  
Alt 11.04.2007, 01:17
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 24.09.2003
Beiträge: 243
braindead befindet sich auf einem aufstrebenden Ast
Standard

Ich werde nochmal anfragen, aber mich irritiert gerade das ich in der Beschreibung zu den Cronjobs lese, das man die auch gut Nutzen kann um überschüssige Logdateien zu löschen, wenn die das also schreiben muss es möglichsein. Nur scheint es mit dieser Konstellation: Cronjobuser ist nicht der Besitzer der Dateien, und die Rechte sind gleichzeitig darauf beschränkt das nur der Besitzer Dateien schreiben darf.
Gar nicht funktionieren zu können.
Mit Zitat antworten
  #8 (permalink)  
Alt 11.04.2007, 09:11
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.026
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Wenn die Cronjobs als root ausgeführt werden sollte es auch kein Problem sein irgendwas zu löschen oder zu erstellen, ich kann mir allerdings nicht vorstellen, dass dein Provider jeden da mit rootrechten rumhampeln lässt
Ohne mehr Informationen zu haben kann man eigentlich nur wild spekulieren...
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Automatische PHP Gallerie funktioniert noch nicht ganz... pkipper Serveradministration und serverseitige Scripte 0 05.11.2010 14:58
php script funktioniert nicht... Hilfe... Argon007 (X)HTML 8 27.06.2010 02:20
IRC Register script funktioniert nicht! :( webseite_freaky Javascript & Ajax 0 27.07.2009 18:33
PHP Script mit GET-Parametern als Img-Src Ares Serveradministration und serverseitige Scripte 2 13.09.2008 22:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:38 Uhr.