Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Cron mkdir und chmod Problem

Frage Entwicklung PHP

Mitglied: ChrisFah

ChrisFah (Level 1) - Jetzt verbinden

09.04.2013, aktualisiert 02:23 Uhr, 2269 Aufrufe, 3 Kommentare

Problem mit mkdir und chmod in einem cronjob: No such file or directory in /var/www/vhosts/domain.tld/httpdocs/cron_fcam03.php on line xx

Hallo,
wieder einmal brauch eich eure Hilfe !!!

Auf einem VServer (Hosteurope) unter Centos6 mit Plesk 11 werden von einer Kamera regelmäßig Bilder auf den Server gespeichert. Diese Bilder können sich Leute mit Berechtigung in einer Übersicht als Thumbnails anschauen.
Nun dauert aber das Erzeugen der Thumbnails einige Zeit, sodaß es durchaus bei Berechnung während der Anfrage zu längeren Wartezeiten oder timeouts kommen kann. Daher wollte ich ein Script per cron alle 10 Minuten laufen lassen.
Soweit so gut, manuell aufgerufen klappt das Script perfekt, leider als cronjob harkt es und ich weiss nicht mehr weiter:
Aufruf über "php /var/www/vhosts/domain.tld/httpdocs/cron_fcam03.php" (in Plesk 11 klappt das nur per Zugang zum Server via SSH: bin/bash) bekomme ich per Email(zum testen!) die Fehlermeldung:
01.
PHP Warning:  mkdir(): No such file or directory in /var/www/vhosts/f-cam.at/httpdocs/cron_fcam03.php on line 38 PHP Warning:  chmod(): No such file or directory in /var/www/vhosts/f-cam.at/httpdocs/cron_fcam03.php on line 39 PHP Warning:  mkdir(): No such file or directory in /var/www/vhosts/f-cam.at/httpdocs/cron_fcam03.php on line 42 PHP Warning:  chmod(): No such file or directory in /var/www/vhosts/f-cam.at/httpdocs/cron_fcam03.php on line 43
Die Verzeichnisse stimmen aber, auch die Berechtigungen passen (0755). Scheint also, daß die Befehle mkdir und chmod nicht zugänglich sind.

Das PHP Script sieht so aus:
01.
<?php 
02.
// CRONJOB BUILDING THUMBS EVERY 10 MINUTES 
03.
 
04.
// set cam to be supported 
05.
$baustellen = array('fahrnercam03'); 
06.
$thumb_width = 200; 
07.
$thumb_height = 150; 
08.
$thumb_quality = 75; 
09.
 
10.
date_default_timezone_set('Europe/Berlin'); 
11.
function create_thumb($source='', $destination='', $width=200, $height=150, $quality=75) { 
12.
	// create thumbnail pic and store it in  destination file 
13.
	if (!$source) die ('<b>EROR CREATING THUMBNAIL:</b> No source file given.'); 
14.
	if (!$destination) die ('<b>EROR CREATING THUMBNAIL:</b> No destination path given.'); 
15.
 
16.
	$size = getimagesize($source);	// get orig size and filetype  
17.
	if ($size[2] == 1) $img = imagecreatefromgif($source);	// image is a gif 
18.
	if ($size[2] == 2) $img = imagecreatefromjpeg($source);	// image is a jpg 
19.
	$new_img = imagecreatetruecolor($width, $height); 
20.
	imagecopyresampled($new_img, $img, 0, 0, 0, 0, (int)$width, (int)$height, $size[0], $size[1]); 
21.
	imagedestroy($img); 
22.
	$result = imagejpeg($new_img, $destination, (int)$quality); 
23.
	imagedestroy($new_img); 
24.
	if ($result)  return true;  
25.
	return false; 
26.
27.
 
28.
define ('DIR_FS', $_SERVER['DOCUMENT_ROOT'].'/'); // define base dir. It is the directory in which this file is located 
29.
//$date = ($_GET['date']) ? trim($_GET['date']): date(Y-m-d) ; 
30.
$date = '2013-04-08';  // zum testen 
31.
 
32.
$baustelle = $baustellen[0]; 
33.
$camdir = DIR_FS.$baustelle.'/archiv/'; 
34.
$sourcedir = $camdir.$date; 
35.
$thumbsdir = $sourcedir.'/thumbs'; 
36.
 
37.
// prüfe ob ordner FS/baustelle/archiv/datum existiert 
38.
if (!is_dir($sourcedir))  mkdir($sourcedir, 0755); 
39.
if (!is_writable($sourcedir)) chmod($sourcedir, 0755); 
40.
 
41.
// prüfe ob ordner FS/baustelle/archiv/datum/thumbs existiert 
42.
if (!is_dir($thumbsdir))  mkdir($thumbsdir, 0755); 
43.
if (!is_writable($thumbsdir)) chmod($thumbsdir, 0755); 
44.
 
45.
$pics = glob($sourcedir.'/'.'*.jpg'); // lese pics ein 
46.
 
47.
if ($pics) { 
48.
	foreach ($pics as $k => $orig_pic) { 
49.
		$pic = str_ireplace($sourcedir.'/', '', $orig_pic); 
50.
		if (!file_exists($thumbsdir.'/'.$pic))  create_thumb($orig_pic, $thumbsdir.'/'.$pic, $thumb_width, $thumb_height, $thumb_quality); 
51.
52.
53.
?>
Wie gesagt, per Browser aufgerufen (domain.tld/cronjob.php) lauft es perfekt, als cronljob gibt es obige Fehlermeldung, und den Job macht keiner....

Hat jemand eine Idee woranes liegt?

Lg, Chris
Mitglied: ChrisFah
09.04.2013 um 02:56 Uhr
Sorry für die vorschnelle Anfrage !!!!

Habe das Problem mit wget -q http://domain.tld/cronjob.php gelöst.

Lg, Chris
Bitte warten ..
Mitglied: kontext
09.04.2013 um 07:42 Uhr
Zitat von ChrisFah:
Habe das Problem mit wget -q http://domain.tld/cronjob.php gelöst.
Guten Morgen,

Dann bitte auch noch http://www.administrator.de/faq/32 nicht vergessen ...

Lg, Chris
Gruß
@zanko
Bitte warten ..
Mitglied: fnord2000
09.04.2013 um 09:14 Uhr
Auch wenn du dir bereits einen Workaround gebaut hast und das Problem nicht mehr aktuell ist, trotzdem noch meinen Senf dazu:

Ich glaube das Problem liegt in Zeile 28.
Du baust dir deine gesammten Dateinamen aus der Variable $_SERVER['DOCUMENT_ROOT'], das kann nur funktionieren, wenn die Variable auch gesetzt ist.
Beim Aufruf über den Webserver ist wird die Variable auf das Root-Verzeichniss gesetzt, aber nicht wenn du PHP direkt von der Kommandozeile, oder eben per Cron, aufrufst. (Woher soll der PHP-Interpreter auch wissen, wo der Webserver seine Dateien hat).

Verwende einfach fest definierte Pfade und es geht auch mit dem Cron.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Mkdir erstellt einen versteckten Systemordner - warum?
Frage von mc-doubleyouBatch & Shell6 Kommentare

Hallo zusammen, ich habe mir ein Backup Script geschrieben, leider wird mir der erstellte Ordner aber am Laufwerk versteckt, ...

Ubuntu
Grafisches Tool via Cron
gelöst Frage von schneerunzelUbuntu3 Kommentare

Hallo zusammen, ich möchte die Software FreeFileSync per Cron ausführen. Leider gibt es keine richtige Meldung im Log. Wenn ...

Windows Server
Mkdir in Batchdatei erstellt teilweise eine Datei anstatt Ordner
gelöst Frage von johndoeWindows Server3 Kommentare

Hallo Zusammen, ich binde per GPO eine Batchdatei ein, die folgendes beinhaltet: mkdir \%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup copy \\serverpfad\verknuepfung.lnk "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" ...

Debian
Mit DD Cron Job für DD auf Netzlaufwerk erstellen
gelöst Frage von zeroblue2005Debian26 Kommentare

Hallo Zusammen, komme eigentlich mehr aus der Windows Welt, jedoch habe ich mich mal daran gemacht, ein Debian zu ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 16 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 21 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 22 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Windows XP
Windows XP Aktivieren geht nicht
Frage von tetikmiroWindows XP13 Kommentare

Hallo Ich habe einen Windows XP mit einen vCenter Converter umgezogen auf eine ESXI. Soweit funktioniert dies auch ohne ...

Blogs
Immer wiederkehrende PHP Fehlermeldung bei Wordpress UTF-8 - ASCII
gelöst Frage von vcdweltBlogs11 Kommentare

Hi, seit einiger Zeit wird mein error_log meines Wordpress Blogs mit immer der gleichen Fehlermeldung überschwemmt. 14-Dec-2017 08:18:05 UTC ...

Switche und Hubs
Redundante L2 LWL Leitung über 2 Standorte - Spanning Tree - HP Equipment
gelöst Frage von ResolvSwitche und Hubs10 Kommentare

Hallo, ich stehe vor der Herausforderung eine Redundante L2 LWL Leitung über 2 Standorte herzustellen. Grundsätzliches Switching Know How ...