Dauerloggen mit Raspberry

  • 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

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

    2 Mal editiert, zuletzt von Fred Bogus Trumper ()

  • Irgendwie klappt das nicht mit minicom. Irgendwas ist falsch. Und mit cron klappt das auch nicht :frowning_face:


    Hier mein Systemd-service



    Mein kleiner Raspberry Pi3 läuft 24/7 mit OSMC als Media-Player

    Ich bin Guybrush Threepwood, ein mächtiger Pirat!

  • Also ich hab auf meinem Linux-Server einfach ein

    Code
    nohup grabserial -b 115200 -d /dev/ttyUSB0 >> /tmp/dm920.log &

    gestartet und das loggt ohne Probleme.


    Wozu extra 'nen Service? Der Server läuft eh immer und wird selten durchgestartet und das Logging ist auch nicht für immer.

  • Also ich hab auf meinem Linux-Server einfach ein

    Code
    nohup grabserial -b 115200 -d /dev/ttyUSB0 >> /tmp/dm920.log &

    gestartet und das loggt ohne Probleme.


    Wozu extra 'nen Service? Der Server läuft eh immer und wird selten durchgestartet und das Logging ist auch nicht für immer.

    Code
    root@Raspberry ~ > nohup grabserial -b 115200 -d /dev/ttyUSB0 >> /tmp/dm920.log
    nohup: ignoring input and redirecting stderr to stdout
    nohup: failed to run command 'grabserial': No such file or directory

    Geht bei mir auch nicht :frowning_face:

    Ich bin Guybrush Threepwood, ein mächtiger Pirat!

  • naja, wenn da schon steht "failed to run command 'grabserial': No such file or directory", dann hast du grabserial wahrscheinlich nicht installiert. :winking_face:


    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

    Ich bin Guybrush Threepwood, ein mächtiger Pirat!

  • Hast du davor auch mal ein apt-get update ausgeführt?


    Ich bekomm es auf meinem RasPi 3 mit aktuellem Raspbian Stretch problemlos gefunden:

    Code
    apt search grabserial
    Sortierung... Fertig
    Volltextsuche... Fertig
    grabserial/stable 1.9.3-1 all
      python-based serial dump and timing program

    Einmal editiert, zuletzt von TSMusik ()

  • hast du den systemd daemon aktualisiert?


    systemctl daemon-reload



    das service ist auch disabled

    Code
    (/lib/systemd/system/dauerlogger.service; 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

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

  • Ich habe das Paket grabserial manuell heruntergeladen und nachinstalliert. Danach habe ich ein CronJob erstellt:


    Code
    */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. :thumbs_up:

    Ich bin Guybrush Threepwood, ein mächtiger Pirat!

  • 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

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

  • 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ß :smiling_face:


    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.

    Ich bin Guybrush Threepwood, ein mächtiger Pirat!

    Einmal editiert, zuletzt von Guybrush2012 ()

  • 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 :thumbs_up:


    Gruß Mike