Cronjob Ausgabe speichern & sinnvoll nutzen

Viele Cronjob Anbieter ermöglichen als Feature die Speicherung der Cronjob Ausgabe bis zu einer gewissen Zeichenlänge. Und genau darum soll es in diesem Artikel gehen.

Wofür kann ich dieses Feature nutzen?

Da gibt es mehrere Möglichkeiten, unter anderem:

 

Häufig ist es jedoch so, dass dieses Feature nur im kostenpflichtigen Account genutzt werden kann (vergleiche die Liste der Cronjob Anbieter). Doch es gibt da noch eine andere Möglichkeit, die ich dir gerne vorstellen möchte.

Cronjob Ausgabe mit PHP speichern

Schon mit wenigen Codezeilen kannst du selber die Ausgabe deines Cronjobs auf deinem Webserver erstellen.

Fehlermeldungen anzeigen: Wenn du die Fehlermeldungen protokollieren möchtest, sollte folgender PHP Code an oberste Stelle stellen:

error_reporting(E_ALL);
ini_set('display_errors', 1);


Dadurch sollten mit Benutzen der 2. Möglichkeit (siehe unten), auch die Fehlermeldungen gespeichert werden.

Ausgabe (Möglichkeit 1): Du initialisierst zunächst eine Variable zum Beispiel so: $e = ""; anschließend benutzt du statt oder zusätzlich zu echo den folgenden Code: $e .= "Ausgabe";.

Du hängst also jede weitere Ausgabe an die bereits initialisierte Variable an und hast dadurch letztlich alle Ausgaben in einer Variable. Am Ende musst du diesen Code nur noch abspeichern - siehe entsprechender Abschnitt in diesem Artikel.

Ausgabe (Möglichkeit 2):

function save_echo ($e) {

// hier den Code aus dem Abschnitt "Speichern" (siehe unten) einfügen um
die Ausgaben in einer Datei zu speichern

return $e;

}

ob_start("save_echo");

// Ausgaben, z.B. durch echo oder normale HTML Ausgaben //

ob_end_flush();

Damit werden alle Ausgaben zunächst zwischengespeichert und vor der endgültigen Ausgabe durch die Funktion save_echo() verarbeitet. In dieser kannst du die Ausgabe dann in einer Datei speichern (Abschnitt "Speichern").

Wenn du mehr zu dieser Zwischenspeicherung der Ausgaben erfahren möchtest, dann klicke hier.

Speichern in einer Datei: Nachdem du nun die Ausgaben sammelst, solltest du sie noch in einer Datei speichern, das kannst du zum Beispiel so machen (es wird bei jedem Aufruf eine neue Datei im Ordner crons angelegt - Du musst den Ordner crons wahrscheinlich noch im Verzeichnis des Skriptes - mit Schreibrechten - anlegen).

$filename = "crons/e-".date('d-H-i-s');
file_put_contents($filename, $e); // $e = gespeicherte Ausgabe

Weitere PHP Tipps

Auf dieser Website wurden weitere Tipps veröffentlicht, die durch wenige PHP-Code Zeilen, ein vermeintlich wichtiges Feature auf deinen Server holen.