RasPi zeigt nach 24h falsche Werte

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich hatte das Problem vor einem Monat schon mal im Chat angesprochen, doch jetzt stört es mich so, dass ich es beheben möchte. :D

    Mein RPi soll manchmal längere Zeit laufen. Nach genau 24 Stunden jedoch liefert er falsche Werte bzw. führt manche Skripte gar nicht mehr aus.
    Wenn ich mich z. B. via Putty auf den Pi aufschalte, bekomme ich im "Begrüßungsbildschirm" immer angezeigt, wie lange der Pi schon online ist. Bis 23h und 59m geht das auch tadellos. Nach genau 24h steht dann da jedoch nur noch "1 Minute". Und das ändert sich auch nicht mehr.

    Ein weiteres Problem ist, das alle drei Minuten ein Pythonskript ausgeführt werden soll, welches die Daten für meine Signatur an einen Webserver übermittelt. Nach genau 24h wird auch dieses nicht mehr ausgeführt. Somit bleibt meine Signatur bei 23:57:59 hängen.

    Per SSH kann ich mich wie gesagt noch aufschalten und auch die Remote Desktopverbindung funktioniert noch einwandfrei.
    Letztendlich sind das nur zwei Kleinigkeiten, die mich aber trotzdem stören. Man weiß ja nicht, was eventuell noch alles ausfällt.

    So sehen meine Cronjobs aus:

    Code
    * * * * *  bash /ordner/skript1.sh //Läuft nach 24h noch
    */3 * * * *  python /ordner/skript2.py //Läuft nach 24h nicht mehr
    0 */3 * * * python /ordner/skript3.py //Läuft nach 24h noch

    Ich hoffe ihr wisst vielleicht, wodurch das Problem verursacht wird.

    Gruß :)

  • So sieht der Teil des Begrüßungsbildschirms aus:

    Code
    echo -e "======================================================================$
    echo -e "\033[1;33m Raspbian Version:\033[0m" `cat /etc/debian_version`
    echo -e "\033[1;33m Systemzeit:      \033[0m" `date | awk '{print $4}'`
    echo -e "\033[1;33m Online seit:     \033[0m" `uptime | awk '{print $3}'` "Minu$
    echo -e "\033[1;33m Speichernutzung: \033[0m" `cat /proc/meminfo|grep 'MemF'| a$
    echo -e "\033[1;33m CPU-Temp:        \033[0m" `cat /sys/class/thermal/thermal_z$
    echo -e "======================================================================$

    Das habe ich aus dem Tutorial hier im Forum.

    Das andere Skript nutzt praktisch die gleichen Funktionen. :)

    Liebe Grüße

  • ...`uptime | awk '{print $3}'` "Minu$

    Moin,

    bitte vollständig posten.

    Aber schon das bisschen uptime Zeile ist nicht schlüssig.
    Die Ausgabe von uptime ändert sich nach 24 Stunden Betrieb.
    awk '{print $3}'` gibt dann 1 aus für TAG und die Angabe hh:mm rückt an awk '{print $4}'`, somit eine "Zeichenkette" weiter.

    Bye

    Jürgen

    PS,: Vermutlich klemmt dein pythoncode durch Übergabe eines "fehlerhaften Wertes".

    Einmal editiert, zuletzt von rpivpn (23. Dezember 2014 um 11:59)

  • Hmh, was wäre denn die bessere Möglichkeit, die Laufzeit des RPi auszulesen?

    Hier mal das Skript, welches die Werte an den Webserver pusht (für meine Signatur). Bitte nicht lachen, Python ist nicht so mein Ding. :D
    (Den Großteil der Funktionen habe ich aus diesem Thread :) )

    Ich habe noch etwas eigenartiges bebachtet: Ich sende ja die Variable mit dem Passwort an das PHP Skript. Nach 24h wird dieses Passwort aber anscheinend nicht mehr richtig übertragen. In dem PHP Skript gleiche ich nämlich das übertragene mit dem richtigen Passwort ab. Erst wenn es stimmt, werden die Werte in eine DB geschrieben.

    Ob das etwas mit dem auslesen der Uptime zu tun hat?

    LG Tim

    Einmal editiert, zuletzt von 71m (23. Dezember 2014 um 19:58)


  • Niemand eine Idee?

    Moin,

    klar, siehe oben, nur wenn Du dir nicht mal die Mühe machst das bash-script vollständig rüberzubringen .....

    Nochmal, schau dir die Ausgabe von uptime an.
    Die "Übergabe" von &laufzeit=x days, xx:xx:xx wird wohl scheitern, dein password ist ja fix und nicht das Übel.

    Bye

    Jürgen

  • Stimmt, du hast recht. Ich habe das Skript (für die Signatur) nun so angepasst, dass der RPi nur die Uptime in Sekunden überträgt. Die Umrechnung in Tage, Stunden und Minuten läuft dann auf dem Webserver.
    Das Bash-Skript, welches beim Start geladen wird, habe ich ebenfalls angepasst. Nun werden dort auch die richtigen Werte angzeigt.

    Vielen Dank für den Denkanstoß.

    LG :)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!