Xinetd Beispiel Eigener Dienst

Aus Synology Wiki
Wechseln zu: Navigation, Suche

Eigenen Dienst für Xinetd erstellen

Über den Xinet Daemon kann man so ziemlich viel anstellen. So kann man jede Bash-Ausgabe auch auf den Browser anzeigen lassen. Als Beispiel übergebe ich die top-Anzeige direkt auf den Port 8111

Zur Anleitung

Diese Anleitung bezieht sich auf die DS211+ mit Xinetd 2.3.14-11 

Voraussetzung

/etc/services

Port des Dienstes eintragen:

##Eigener Dienst
topbash        8111/tcp     # topbash

/opt/etc/xinetd.d/topbash

Service definieren: [USER] durch einen vorhanden Benutzer ersetzen

service topbash
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = [USER]
server = /opt/bin/show.bash
}

/opt/bin/show.bash

Bashscript für top (Perl habe ich wegen der Formatierung benutzt)

#!/bin/bash
date | sed -e 's/$/\r/' | perl -pe 's/\r\n|\n|\r/\r\n/g'
echo "_________________________________________________________________" | sed -e 's/$/\r/' | perl -
pe 's/\r\n|\n|\r/\r\n/g'
topvar=/bin/bash /usr/bin/top -b -n 1 | head -15 | sed -e 's/$/\r/' | perl -pe 's/\r\n|\n|\r/\r\n/g'

 echo  $topvar
 exit

xinet Daemon

Den Xinet Daemon starten, bez. startet neu

/opt/etc/init.d/S10xinetd

Browser starten

top kann nun direkt im Browser abgefragt werden, ohne sich anzumelden. http://[IP-ADRESSE]:8111/

Fehler finden

Fehler können immer wieder auftreten. Hier sind die wichtigsten Befehle um den Xinet Dienst zu prüfen:

Xinet Dienst testen

Über das log kann man sehen ob der Daemon geschlossen (Exiting) wird. Das deutet auf eine falsche Konfiguration hin.

tail /var/log/messages

May 24 13:02:40 xinetd[4724]: Exiting...
May 24 13:04:22 xinetd[15315]: Exiting...

Mit -d kann man den xinetd im Debug-Modus starten. So sieht man detailierter ob man was falsches konfiguriert hat.

xinetd -d

Ob der Dienst läuft

Mit diesem Befehl kann man sehen ob der xinet Daemon überhaupt läuft

ps -aux | grep xinet

Port prüfen

Mit Netstat kann man schauen ob der Port auch wirklich abgehört wird:

netstat -tanp | grep 8111
tcp        0      0 0.0.0.0:8111            0.0.0.0:*               LISTEN      28368/xinetd