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-Key: 256470

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

Printed on: April 19, 2024 at 01:04 o'clock

Member: Gersen
Solution Gersen Dec 02, 2014 updated at 12:04:34 (UTC)
Goto Top
Hallo,

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

Gruß,
Gersen
Member: riddler2kone
Solution riddler2kone Dec 02, 2014 updated at 12:04:36 (UTC)
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
Member: tireniets
tireniets Dec 02, 2014 at 09:37:06 (UTC)
Goto Top
Hallo Gersen,

viele Dank für deine Antwort.
Ja, der Pfad zum Logfile ist absolut hinterlegt.
Member: tireniets
tireniets Dec 02, 2014 at 09:44:42 (UTC)
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.