dead.letter, wenn php Shell Skript startet

C

Che'tin'oich

Jungspund
Hallo, auf unserm Server lassen sich keine Cronjobs einrichten, darum startet jetzt eine php datei ein Shellskript, welche Mails versenden sollte.

Das Skript funktioniert wenn man es über die Konsole startet (Mails verweden versendet), wird es aber über die php datei gestaret
PHP:
<?php
error_reporting(E_ALL ^ E_NOTICE);
ini_set('max_execution_time', 100000);
$sPath = dirname(__FILE__);
$sCMD = 'sh ' . $sPath . '/skript.sh';
$sRes = system($sCMD, $mRes);
echo '$sRes: ' . $sRes . "\n";
echo '$mRes: ' . $mRes . "\n";
?>
wird nur ein dead.letter angelegt und es wir keine mail versendet, der Rest vom Skript funktioniert allerdings ohne Probleme
 
Weils höflich ist, arbeit spart und du dir ein, zwei "Feinde" weniger machst? (Gugge hier und da)
 
Weil dir so hier keiner antworten wird. Cross-postings gelten allgemein als dumm. Dumm weil Leute, die nichts voneinander wissen versuchen zu helfen und die Maßnahmen der einen die anderen beeinflussen und Resourcen von freiwilligen (!) Helfern verschwendet werden. Selbst mit einem Link auf den jeweils anderen Thread ist die Akzeptanz begrenzt.

Dies ist in den meisten Foren so und man sollte bevor man Fragen stellt eine Weile mitlesen um ein Gefühl für den Umgang zu entwickeln. Solche Postings kommen alle x Tage mal vor und meistens versaut man sich so die Chancen auf Hilfe. Besonders bei Linuxern, die recht ungehalten reagieren wenn die Etikette nicht eingehalten wird.

Und wie üblich wären mehr Infos toll. Wenn das Shellskript nicht so kompliziert ist, würde es Sinn machen den Mailversand gleich aus PHP zu machen, das spart eine Menge Probleme. Und ist mit existierenden PHP Klassen sehr einfach realisiert.
 
oki,

nein es aber halt ein Shellskript und kein PHP Skript, es wird nur per PHP ausgeführt weil kein Cronjob möglich ist
 
Die Frage ist wie aufwändig es wäre, dass nach PHP zu portieren
 
weiß ich nicht genau. Es ist halt ein Backup Skript (packen,Datenbank exportieren, wieder packen, md5 datei erstellen, Statusmails verschicken).

Läuft auf mehrern Server, nur lässt sich auf dem einen Server leider kein cronjob einrichten, warum es der Skript per php gestartet wird.
 
Dann ruf doch das Skript einfach auf, speicher die STDOUT und STDERR in zwei einzelne Dateien ab und vermaile das Ergebnis. Es kann auch sein, dass euer Skript sich auf bestimmte Umgebungsvariablen verlässt, die im PHP nicht gesetzt sind. PATH zum Beispiel.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Btw, versuch mal dein Skript oben so aufzurufen, dass STDERR in ne Datei geschrieben wird.
 
Zuletzt bearbeitet:
Ich glaube du hast nichtganz verstanden ich möchte ;) Das Backupskript (welches auch die Mails versenden sollte) ist ein Shellskript, PHP macht nichts anders als das Shell Skript zustarten.
 
Naja, bei der Erklärung ein Skript zum Mailversenden dann wieder ein Backupscript.. Meinen zweiten Vorschlag kannst du trotzdem mal ausprobieren, der trifft so oder so zu..

Der Rest des Skriptes funktioniert also?
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Sprich nur das Mailen schlägt fehl?
 
Zuletzt bearbeitet:

Ähnliche Themen

Shellskript - Fehler in Cron

Backup Skript automatisch ausführen mit udev

Shell Problem

sendmail-Frage - python<>shell

Crontab Tägliches Backup

Zurück
Oben