Unterschied "tail" auf dem Raspberry Pi und IPS

Hallo Leute,

kleine Frage zur Programmierung:
Auf dem Raspberry Pi werden nach der Eingabe von

sudo tail -n 20 /var/log/xyz.log

die letzten 10 Zeilen des benannten Logs ausgegeben.

In IPS habe ich es so versucht

$result = exec('sudo tail -n 10 /var/log/xyz.log');
echo $result

Ausgegeben wird aber nur die letzte Zeile…:confused:

Wie macht man dieses richtig?

Joachim

$result = system('tail -n 10 /var/log/symcon/logfile.log');
echo $result

Funktioniert! Danke!:slight_smile:

…muss da (leider) noch mal einhaken…

Wenn ich das Ergebnis mit ‚Echo $result‘ in der Konsole anzeigen lasse, funktioniert es einwandfrei.
Nun habe ich versucht es einer Stringvariablen zuzuweisen, jedoch wird in der iPhoneApp nur die jeweils letzte Zeile angezeigt, dabei ist es offenbar egal welchesVariablenprofil ich auswähle…:confused:

Joachim

Moin!

Hätte da noch was im „wie kann ich 2.0“ Thread :slight_smile:
IP-Symcon - Wie kann ich… 2.0 - Seite 6

Grüße,
Chris

Mit shell_exec funktionert es mit der Variable.

$result = shell_exec('tail -n 10 /var/log/symcon/logfile.log');
SetValueString(26895 /*[.Test\Test]*/, $result);

PHP: exec - Manual
exec — Führt ein externes Programm aus

PHP: shell_exec - Manual
Führt ein Kommando auf der Shell aus und gibt den kompletten Output als String zurück

PHP: system - Manual
system — Führt ein externes Programm aus und zeigt dessen Ausgabe an

Hallo ihr Beiden,

mit ‚shell_exec‘ funktioniert es! Was mich wunderte ist, dass es mit ‚Echo‘ auch mit ‚system‘ in der Konsole funktioniert, nur in der String-Variablen nicht…:confused:

Aber sei es drum…:slight_smile: Danke!

Joachim

Was spricht gegen meine verlinkte Lösung? Die funktioniert bei mir mit IPS4 und Ubuntu als Basis.
Oder ging es gar nicht um die Funktion an sich, sondern rein um das Wissen und ich hab es nur vercheckt? :smiley:

Grüße,
Chris

Hallo Chris,

eigentlich nichts.

Meine Funktion lautet jetzt in Gänze:

function HomebridgeServerLog()
{
	$result = shell_exec('sudo tail -n 10 /var/log/homebridge.log');
	return $result;
}

Deine Funktion ist etwas länger und ich verstehe gerne was da passiert, ist bei Dir ja auch noch nachvollziehbar, aber warum so „kompliziert“ wenn es auch einfacher geht…:slight_smile:

Joachim

Achso :smiley: Der Code im Link ist nur etwas ausführlicher geschrieben (dafür klappts auf allen Systemen) :wink:
Dazu noch der Zeilen-Zähler und ein paar echos :slight_smile:

Aber wenn du zufrieden bist und es klappt, dann is ja gut :slight_smile:

Grüße,
Chris