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  
 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