tireniets
Goto Top

Ubuntu Server - Service schreibt nicht in Datei

Hallo Leute,

kurz zur Infrastruktur:
1x Ubuntu Server v. 14.04
1x TaoTroncis TT-BS012 Barcodescanner

Was wollen wir machen?

Wir möchten via Bash-Script die gescannten Barcodes in eine Datei schreiben.
Das funktioniert auch ohne Probleme.
Es handelt sich dabei um eine simple while-loop die einfach eine Eingabe erwartet und dann in ein File schreibt.

#!/usr/bashwhile truedo read -p "Barcode:" input echo $input >> log.datdone

Was ist das Problem?

Das Script selbst funktioniert einwandfrei, sobald wir jedoch das Script als Daemon/Service einrichten und starten werden eingaben zwar aktzeptiert, aber nicht mehr an das logfile weitergegeben. Das betrifft sowohl Scans vom Barcodescanner (tritt als Keyboard auf) als auch Eingaben via ssh-Shell.

Jetzt stellt sich uns die Frage woran das liegen könnte, eventuell übersehen wir ein wichtiges Detail.
Ich hoffe jemand kann uns da weiterhelfen.

Besten Dank schonmal im Vorraus.

LG

UPDATE
Problem ist gelöst, Ursache war denkbar einfach.
Am Server selbst ist der ausführende Benutzer nicht angemeldet gewesen...klappt nun alles wie gehabt.

Content-ID: 256470

Url: https://administrator.de/contentid/256470

Ausgedruckt am: 26.11.2024 um 08:11 Uhr

Gersen
Lösung Gersen 02.12.2014 aktualisiert um 13:04:34 Uhr
Goto Top
Hallo,

erster Gedanke - im Service-Skript hinterlegt ihr die Logdatei schon mit absolutem Pfad, oder?

Gruß,
Gersen
riddler2kone
Lösung riddler2kone 02.12.2014 aktualisiert um 13:04:36 Uhr
Goto Top
Hallo tireniets,

vielleicht trivial aber dennoch eine Frage wert face-smile. Hat der ausführende Benutzer des Demons Schreibrechte im entsprechenden Verzeichnis? Was ist das ausführende Verzeichnis? nicht, dass die log.dat an einen anderen Ort abgelegt wird. Vielleicht ermittelst du den Pfad und gibst ihn zu Debugzwecken mal aus.

Viele Grüße
tireniets
tireniets 02.12.2014 um 10:37:06 Uhr
Goto Top
Hallo Gersen,

viele Dank für deine Antwort.
Ja, der Pfad zum Logfile ist absolut hinterlegt.
tireniets
tireniets 02.12.2014 um 10:44:42 Uhr
Goto Top
Hallo Riddler,

der User der das Script ausführt hat Schreibrechte auf dem Verzeichnis.
Das ausführende Verzeichnis ist /etc/init.d/ , das Logfile liegt im root-Verzeichnis /root/log.dat.

UPDATE:
Es hat sich nun ein kleines Update der Lage ergeben, das Script läuft nun auch im Daemon problemlos wenn der Scanner auf dem PC, auf dem ich via ssh auf dem Server angemeldet bin, angeschlossen ist.

Wir haben nun den Scanner direkt am Ubuntu Server angeschlossen um die Situation in der final geplanten Konfiguration(Notebook mit angeschlossenem Scanner) zu testen.
Wenn wir dann den Daemon via ssh starten und dann scannen erhalten wir keine Eingabe und auch keinen Input in das Logfile.
Sprich selbes Problem, aber Gerät diesmal direkt am Server.