Seite 1 von 1
Verwaltungstool erstellen
Verfasst: 16.11.2013 17:56
von dysti
Hallo, also ich stehe schwer auf den Schlauch.
Möchte anstatt mit PHP ein Verwaltungstool mit PB proggen.
Weiß aber im Moment nicht, wie ich z.B. die Systemmeldung auffange und in Pb verarbeiten kann.
Diese Meldungen kommen z. B. wenn das Netzwerk oder Apache neu gestartet wird.
Die Linuxbefehle werden ja wohl mit "Runprogramm" gestartet?
Habe auch gegoogelt, aber diesbezüglich absolut nichts gefunden, was ich aber sehr ungewöhnlich finde.
Für Links und Codeschnippes bin ich dankbar.
Ok. Liebe Linuxprogger. Führt mich aus dem Dunkeln.
MfG Dysti
Re: Verwaltungstool erstellen
Verfasst: 17.11.2013 14:55
von auser
Die Linuxbefehle werden ja wohl mit "Runprogramm" gestartet?
Programme kannst du wie in Windows auch mit Runprogram starten und musst wenn du was davon auslesen willst die richtigen Flags reinschreiben.(#PB_Program_Open|#PB_Program_Read|#PB_Program_Error)
Code: Alles auswählen
ls = RunProgram("ls",ProgramParameter(),"",#PB_Program_Open|#PB_Program_Read|#PB_Program_Error|#PB_Program_Write)
If IsProgram(ls)
While ProgramRunning(ls)
stderr.s = ReadProgramError(ls)
If stderr.s <> ""
PrintN("stderr: "+stderr)
Endif
If AvailableProgramOutput(ls)
stdout.s = ReadProgramString(ls)
PrintN("stdout: "+stdout)
Endif
Wend
stderr.s = ReadProgramError(ls)
If stderr.s <> ""
PrintN("stderr: "+stderr)
Endif
CloseProgram(ls)
EndIf
Gibst du dem obig kompilierten binary den Flag "-l" mit solltest du ein schönes Listing über stdout kriegen. Gibste hingegen "-gibtsned" an meckert es dir was über stderr.
Wobei ich mir aber ehrlich gesagt nicht sicher bin was du wirklich willst. Willst du was starten oder nur was auslesen und wenn ja was genau?
Meldungen von 'nem Netzwerk Neustart wirste wohl im Kernel-Ringbuffer fündig werden können:
Code: Alles auswählen
ImportC ""
klogctl(type.l,*bufp,len.l)
EndImport
bufsize = klogctl(10,0,0)
If Not bufsize
bufsize = 16384
Endif
*buf = AllocateMemory(bufsize)
If *buf
klogctl(3,*buf,bufsize)
OpenConsole()
PrintN(PeekS(*buf,bufsize))
EndIf
Der Apache und viele andere Dienste schreiben hingegen Logfiles (z.B. über syslog) und werden über Init-Scripts gestoppt und gestartet. Was das Logging betrifft gibt's in Linux vor allem OS-Funktionen etwas reinzuschreiben. Man kann natürlich auch logfiles ganz einfach Filebasierend auslesen... ob das aber so Zielführend ist das ist fraglich.
Vielleicht wär es Hilfreich zu wissen was genau du machen willst.
Mfg,
auser
Re: Verwaltungstool erstellen
Verfasst: 17.11.2013 18:59
von dysti
Was möchte ich machen. Es gibt ja Tools wie iredmail, Swat und Webmin etc..
Die arbeiten alle mit PHP.
Nun, wie ich Eingangs schrieb, möchte ich ein Tool wie Webmin mit Purebasic realisieren.
Re: Verwaltungstool erstellen
Verfasst: 17.11.2013 19:04
von ts-soft
Also CGl, hier findest Du ein Framework:
http://www.purebasic.fr/english/viewtop ... 21#p309721
Ansonsten gibt es noch Beispiele von Rings und Paul im engl. Forum.
Gruß
Thomas
Re: Verwaltungstool erstellen
Verfasst: 17.11.2013 19:25
von dysti
Nein, nicht CGI. Iredmail z. B. ist HTML und PHP und ruft per PHP die Bash-Scripte auf.
Ähnlich macht es auch Webmin oder PHPAdmin.
Oder bin ich auf den Holzweg?
Re: Verwaltungstool erstellen
Verfasst: 17.11.2013 19:42
von ts-soft
In einem Webinterface werden nur die Techniken, die der Webserver unterstützt,
ausgeführt, das wären im allg. PHP, CGI und Javascript, evtl. noch andere!
Die einzige Möglichkeit mit PB wäre also CGI oder Du gehst einen Holzweg oder
hast Dein Vorhaben falsch beschrieben
Gruß
Thomas
Re: Verwaltungstool erstellen
Verfasst: 17.11.2013 20:54
von dysti
Als werde ich mich mal mit CGI beschäftigen und sehen, ob ich da weiter komme.
Den Weg von @auser werde ich ach probieren.
Re: Verwaltungstool erstellen
Verfasst: 17.11.2013 21:36
von Kiffi
dysti hat geschrieben:Als werde ich mich mal mit CGI beschäftigen und sehen, ob ich da weiter komme.
hier ein empfehlenswerter Code, der den Einstieg erleichtert:
http://www.purebasic.fr/english/viewtop ... 12&t=35321
Grüße ... Kiffi
Re: Verwaltungstool erstellen
Verfasst: 17.11.2013 23:01
von NicTheQuick
Er will doch nur mit Purebasic Sachen wie Webmin und Konsorten nachbauen. Das heißt nicht gleich, dass er dann eine Anbindung an Apache herstellen muss. Das kann ja auch einfach in einem ganz normalen PB-OpenWindow-Fenster laufen. So hab ich das zumindest verstanden.
Re: Verwaltungstool erstellen
Verfasst: 18.11.2013 07:15
von dysti
Er will doch nur mit Purebasic Sachen wie Webmin und Konsorten nachbauen. Das heißt nicht gleich, dass er dann eine Anbindung an Apache herstellen muss. Das kann ja auch einfach in einem ganz normalen PB-OpenWindow-Fenster laufen. So hab ich das zumindest verstanden.
Genau, so habe ich es gemeint.
Gibt es Codebeispiele?