Seite 1 von 1

Problem mit Newsletter Anhang bei cronjob

Verfasst: Di 10. Apr 2012, 22:25
von nkleber
System: Contenido V4.8.12

Ich kann Newsletter mit Anhang (ca. 400kB pdf) problemlos versenden solange ich den cronjob nicht verwende (direktversand). Wenn ich jedoch cronjob verwende bekomme ich den folgenden Fehler beim Versand:
error (File open/var/www/web33/web/toomra/upload/Diverse/Wissen_befreit.pdf)

Der Dateipfad ist definitiv ok und das file wird beim direktversand auch versendet. Was könnte das sein?

Vorab schon mal danke für eure hilfe

Re: Problem mit Newsletter Anhang bei cronjob

Verfasst: Mi 11. Apr 2012, 10:14
von Oldperl
Hallo nkleber,

cronjob mit einem externen cronjob-Auftrag? Oder mit dem eingebauten (PHP-)Cron von Contenido?
Bei einem externen CronJob könnte es eventuell an den Rechten liegen, da dort wohl die CLI-Version von PHP verwendet wird, die möglicherweise aber keine entsprechenden Rechte für die Datei bzw. den Webspace hat.

Gruß aus Franken

Ortwin

Re: Problem mit Newsletter Anhang bei cronjob

Verfasst: Mi 11. Apr 2012, 17:06
von nkleber
Hallo Ortwin,
Es ist ein externer cronjob auf dem Webserver.

Ich hab mir das mit den Rechten gerade angesehen und festgestellt dass alle Files welche über contenido hochgeladen werden den user www-data mit den rechten 0600 haben. der cronjob wird aber vom einem anderen "cronuser" ausgeführt. Wie kann ich nun contenido dazu bringen die files beim upload zumindest mit den rechten 0664 auszustatten? Oder gibt es eine Möglichkeit den cronjob so zu machen dass er als entsprechender user das file ausführt?

gruss Norbert

Re: Problem mit Newsletter Anhang bei cronjob

Verfasst: Do 12. Apr 2012, 03:28
von Oldperl
Hallo Norbert,
nkleber hat geschrieben:Wie kann ich nun contenido dazu bringen die files beim upload zumindest mit den rechten 0664 auszustatten?
Das Zauberwort heißt chmod :arrow: http://phpforum.de/forum/showthread.php?t=158311
nkleber hat geschrieben:Oder gibt es eine Möglichkeit den cronjob so zu machen dass er als entsprechender user das file ausführt?
Das ginge auch, man kann, zumindest unter Linux, dem crontab mitgeben unter welchem User/Group er den Cronjob ausführen soll. Oder man nimmt nicht das PHP-CLI zum ausführen, sondern versucht den Zugriff z.B. per wget und leitet die Ausgabe nach /dev/null um.

Gruß aus Franken

Ortwin

Re: Problem mit Newsletter Anhang bei cronjob

Verfasst: Do 12. Apr 2012, 08:13
von nkleber
Vielen dank, es funktioniert.

zur info für alle die dasselbe problem haben:

erweiterung funktion create in der class.upload.php wie folgt:

Code: Alles auswählen

function create ($dir, $file){
	global $client, $cfg, $auth[b], $fgClient[/b]; //NK , $cfgClient musste hier erweitert werden
		
	$item = parent::create();
	
	$item->set("idclient", $client);
	$item->set("filename", $file, false);
	$item->set("dirname", $dir, false);
	$item->set("author", $auth->auth["uid"]);
	$item->set("created", date("Y-m-d H:i:s"),false);
	$item->store();
		
	[b][color=#FF0000]//NK change file permision for new uploaded files
	$umask = umask(0);
	chmod($cfgClient[$client]["upl"]["path"].$dir.$file, 0664);
	umask($umask);[/color][/b]
		
	$item->update();
		
	return ($item);	
		
}

Re: Problem mit Newsletter Anhang bei cronjob

Verfasst: Do 12. Apr 2012, 11:30
von Oldperl
Hallo Norbert,
nkleber hat geschrieben:Vielen dank, es funktioniert.
Freut mich, vielen Dank auch für's Feedback. :)

Gruß aus Franken

Ortwin