Hi,
hat es eigentlich negativen Auswirkungen, wenn ich mit dem Raspberry Dauerlogge?
Hab mir überlegt ein Systemd-Service zu erstellen um Dauerzuloggen
Hi,
hat es eigentlich negativen Auswirkungen, wenn ich mit dem Raspberry Dauerlogge?
Hab mir überlegt ein Systemd-Service zu erstellen um Dauerzuloggen
nein, ich hab' Anfangs am Raspberry Pi 1 Model B (single core 700MHz, 512MB RAM) einen dauerbootlog der dm900 laufen lassen
Mir wäre da nichts aufgefallen, weder auf der dm900 noch am Pi. Ich muss dazu sagen das der olle Pi 1 sonst nicht viel zu zun hatte, da ist auch nur noch ein "root server" drauf installiert
mit dem Pi 2 oder 3 sehe ich da überhaupt kein Problem
Ausserdem ist die dauerhafte serielle Verbindung über USB kein Nachteil. Notfalls kommt man über den Pi so auch seriell ohne Netzwerk auf die Box bzw. in den rescue loader oder ins CFE Bios ohne jedesmal neu verkabeln zu müssen ..
Edit:
den dauerlog kannst du auch einfach über einen cronjob beim boot des pi starten, da musst du nicht mit systemd ran
root@Raspberry ~ > systemctl status dauerlogger.service
* dauerlogger.service - Dauerlogger Service
Loaded: loaded (/lib/systemd/system/dauerlogger.service; disabled)
Active: failed (Result: exit-code) since Mon 2018-01-08 11:37:49 CET; 6s ago
Process: 10379 ExecStart=/home/osmc/dauerlogger.sh (code=exited, status=1/FAILURE)
Main PID: 10379 (code=exited, status=1/FAILURE)
Jan 08 11:37:49 Raspberry systemd[1]: Started Dauerlogger Service.
Jan 08 11:37:49 Raspberry dauerlogger.sh[10379]: No cursor motion capability (cm)
Jan 08 11:37:49 Raspberry systemd[1]: dauerlogger.service: main process exited, code=exited, status=1/FAILURE
Jan 08 11:37:49 Raspberry systemd[1]: Unit dauerlogger.service entered failed state.
Alles anzeigen
Irgendwie klappt das nicht mit minicom. Irgendwas ist falsch. Und mit cron klappt das auch nicht
Hier mein Systemd-service
[Unit]
Description=Dauerlogger Service
[Service]
Type=simple
ExecStart=/home/osmc/dauerlogger.sh
[Install]
WantedBy=multi-user.target
Alles anzeigen
Mein kleiner Raspberry Pi3 läuft 24/7 mit OSMC als Media-Player
naja, wenn da schon steht "failed to run command 'grabserial': No such file or directory", dann hast du grabserial wahrscheinlich nicht installiert.
Also noch ein apt-get install grabserial ausführen und dann erneut versuchen.
root@Raspberry ~ > apt-get install grabserial
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package grabserial
Ja hab ich. OSMC hat wohl das Paket nicht. Ich installiere es manuell sobald ich zuhause bin. Danke dir
hast du den systemd daemon aktualisiert?
systemctl daemon-reload
das service ist auch disabled
enablen
systemctl enable dauerlogger.service
welche Fehlermeldung kommt beim starten?
ich würde erstmal testen, ob der log startet, wenn man das über das CLI startet und auch weiterleäuft, wenn das Terminal geschlossen wird
dann kann man darüber nachdenken, wie man es beim booten startet
Ich habe das Paket grabserial manuell heruntergeladen und nachinstalliert. Danach habe ich ein CronJob erstellt:
*/0 */6 * * * nohup grabserial -b 115200 -d /dev/ttyUSB0 < /dev/null > /tmp/dm920.log 2>&1 & >/dev/null 2>&1
Vielen Dank für die Hilfe @ Fred Bogus Trumper und @TSMusik habe es hinbekommen.
ich vermute du willst alle 6 Stunden ein neus log files schreiben
wenn du den pi neu startest, startet der 1. log mit deinem cronjob erst 6 Sunden nach dem reboot
ich kenne grabserial jetzt nicht, aber so startest du einen 2. grabserial prozess nach 12 Stunden, der 1. läuft aber weiter und der 2. Prozess gibt sicher einen Error aus, weil /dev/ttyUSB0 bereits verwendet wird, nach weiteren 6 Stunden startest du wieder einen neuen usw.
Wenn du alle 6 Stunden ein neues logfile haben willst am besten in ein script packen, das zuerst prüft ob grabserial läuft, wenn ja grabserial beendet und dann neu startet
das nohup könntest du im script weglassen, weil das script über den cronjob in einer subshell gestartet wird (wenn & am Ende des cronjobs)
damit das dann beim boot sofort gestartet wird, folgenden cronjob erstellen
@reboot /path/to/logging.sh &
und dann alle 6 Stunden neu starten, wenn dein cronjob so gemeint war
* */6 * * * /path/to/logging.sh &
du kannst grabserial auch ohne Neustart durchlaufen lassen und einfach das logfile im script nach 6 Stunden umbennen, dann wird ein neues erstellt. im script könntest du prüfen, ob grabserial noch läuft, wenn nicht neu starten, falls der prozess nicht mehr laufen sollte
so hättest du einen watchdog und immer 2. logs der letzten 12 Stunden und damit quasi ein logrotate
ach ja, das log würde ich auf USB oder SD schreiben, /tmp ist nach einem reboot leer, d.h. der log ist z.B. nach einem Stromausfall etc. weg
Das mit dem umbenennen ist gut. Darauf bin ich garnicht gekommen. Dann werde ich den log nur einmal starten, alle 24 Stunden auf tmp umbenennen. Mit geht es darum, dass ich mit dem raspberry auf /tmp/ logge und beim kleinen nunmal der Speicher begrenzt ist. So eine dauerlog Datei wird mir der Zeit recht groß
Edit: Ich finde /tmp ganz praktisch. Mein Raspberry mit OSMC läuft 24/7 durch. Weil der als DLNA Server u.a. noch im Netzwerk meine Musik Sammlung für Verfügung stellt.
Wollte mich nebenbei bei Euch für Euren Input mal bedanken. Ich konnte das sauber mit einem Pi3 und Standardimage nachstellen. Autostart startet den grabserial auf einen angeschlossenen USB-Stick
Gruß Mike