Sheduler setzt zeitweise aus

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • RE: Sheduler setzt zeitweise aus

    Danke für die Antwort, habe es gestern mittag so gemacht.
    Bis gestern abend lief der sheduler durch, aber heute morgen
    war es wieder in rot. Wie kann man nachgucken ob das Script
    ausgeführt wird. Nach crontab -e kam zwar der "New Crontab installed" Hinweis.
    Aber glaube nicht das es läuft.
  • RE: Sheduler setzt zeitweise aus

    Ob der Crontab erfolgreich installiert wurde, kannst du mit Crontab -l prüfen.
    Achte auch darauf das du crontab -e mit sudo startest.
    Weiterhin solltest du prüfen, das die hinterlegten Skritpe auch korrekt arbeiten.
    Sprich SHC komplett beenden, Skript ausführen und prüfen ob danach alle Dienste wieder angefahren wurden.
    Dann SHC komplett starten, Skript ausführen und prüfen wie es sich dann verhält.
    Sind diese Tests alle in Ordnung sollte die Geschichte mit dem Crontab eigentlich funktionieren.
  • RE: Sheduler setzt zeitweise aus

    Hmm,

    da auch ich Probleme mit dem stabilen Laufen des SHC habe, hatte ich vor, obigen Workaround zu benutzen. Abgesehen davon, dass Linux ja Groß- / Kleinschreibung beachtet und daher

    rgarcia schrieb:


    Ob der Crontab erfolgreich installiert wurde, kannst du mit Crontab -l prüfen.

    das da wegen des großen C nicht funktioniert, bekomme ich beim Aufruf des Scriptes "shedularwatch.sh" die Meldung "Permission denied" und mit sudo davor "command not found". Insofern gehe ich davon aus, dass mein Aufruf per crontab auch nicht funktionieren wird  :-/
    Was mache ich falsch? :huh:

    OK - ich antworte mir mal selbst: Nachdem ich der Datei shedularwatch.sh die Rechte zum Ausführen gegeben hatte, ging es dann. :)
    Bin leider aufgrund einiger Unzulänglichkeiten des SHC zu FHEM gewechselt. Das ist zwar ein wesentlich höherer Einarbeitungsaufwand, aber die Möglichkeiten, die ich benötige, werden wohl über kurz oder lang nicht in SHC verfügbar sein.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Ottonormalverbraucher ()

  • RE: Sheduler setzt zeitweise aus

    Ganz richtig. Ich habe den Befehl eben mal zu meinem Beitrag mit dem Skript hinzugenommen ;)

    Kannst ja dann mal Rückmeldung geben ob es nun zuverlässiger läuft.
    Ich hatte die Tage auch Probleme mit einer Außenfunksteckdose.
    Die wollte sich irgendwann nicht mehr schalten lassen.
    Hab es dann direkt über pilight probiert... ging auch nicht.
    Als es dann auch über die Fernbedienung nicht ging, war klar die hat ein Schlag.
    Mal schauen ob die zweite besser hält :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von rgarcia ()

  • rgarcia schrieb:

    Das passt rmjspa ;)
    Ich hab das ganze bei mir wie folgt:

    */8 * * * * /home/pi/pilight-check
    */10 * * * * /home/pi/shc-check

    Das checkt alle 8 Minuten ob pilight noch läuft und alle 10 ob shc noch läuft.
    Pilight prüfe ich mit folgendem Skript

    Shell-Script

    1. #!/bin/bash
    2. service=pilight
    3. if (( $(ps -ef | grep -v grep | grep pilight-daemon | wc -l) > 0 ))
    4. then
    5. echo "$service is running!!!"
    6. else
    7. /etc/init.d/$service start
    8. fi
    Hallo
    Da ich sehr viele Schaltelemente und Schaltpunkte im Einsatz habe
    und sehr oft der Sheduler stehen bleibt habe ich eine Frage dazu.

    Ist es möglich ein Skript auszuführen der den Rpi neustartet wenn
    der Sheduler stehen bleibt.
  • Du kannst die Zeile 8 austauschen. Z. B. mit sudo reboot. Musst mal schauen, ob das so einfach geht, wegen den "Rechten"

    Oder Du startest ein script in Zeile 8, welches dir eine Nachricht schickt, oder ein GPIO schaltet.

    Nachtrag: Irgendwie sieht das script aber unvollständig aus.

    Auf jeden Fall wird da pilight geprüft.
    Zeile 6 sagt aus, wenn der Service läuft, geben auf der Konsole aus Service........
    wenn nicht dann führe das aus was in Zeile 8 steht. Also nach else.
    SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
  • rmjspa schrieb:

    Du kannst die Zeile 8 austauschen. Z. B. mit sudo reboot. Musst mal schauen, ob das so einfach geht, wegen den "Rechten"

    Quellcode

    1. 1.
    2. Script einfügen in rpineustart.sh mit
    3. sudo nano rpineustart.sh
    4. #!/bin/bash
    5. service=shcd
    6. if (( $(ps -ef | grep -v grep | grep app=shc | wc -l) < 3 ))
    7. then
    8. /etc/init.d/$service stop
    9. sleep 2m
    10. /etc/init.d/$service start
    11. else
    12. echo "$sudo reboot!!!"
    13. fi
    14. Dann speichern.
    15. 2.
    16. rpineustart.sh kopieren
    17. sudo cp rpineustart.sh /sbin
    18. 3.
    19. Dann noch die Zeilen mit sudo crontab -e in die crontab einfügen.
    20. * * * * * /sbin/rpineustart.sh
    21. * * * * * /sbin/reboot
    22. 4.
    23. sudo reboot
    Alles anzeigen
    So möchte ich es machen aber welche Zeiten müssten dann noch in crontab -e
  • Hallo premo,

    ich würde folgendes machen, wenn nicht schon geschehen.

    Probieren ob das Script funktioniert

    1. Den Sheduler anhalten
    2. Script mit sudo rpineustart.sh manuel aufrufen. Wenn dann ein reboot erfolgt, geht es.

    Jetzt ist die Frage, wann und wie oft soll das Script rpineustart ausgeführt werden?

    In die crontab mit sudo nano crontab -e
    * /8 * * * /rpineustart.sh würde die Überprüfung, also das Script ausführen 8 Minuten nach jeder vollen Stunde.

    Wenn z.B. das Script soll zur 48. Minute jede Stunde ausgeführt werden.

    48 * * * * /sbin/rpineustart.sh

    Wenn generell jede Nacht ein reboot stattfinden soll:

    Reboot für jeden Tag um 04:10 Uhr eingebaut. Kann man, muss man nicht.

    10 04 * * * /sbin/reboot

    Ich würde die Überprüfung nicht zu oft pro Stunde machen.
    SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
  • Danke erstmal.
    Habe es eingerichtet aber bei

    Quellcode

    1. 1. Den Sheduler anhalten
    2. 2. Script mit sudo rpineustart.sh manuel aufrufen. Wenn dann ein reboot erfolgt, geht es.
    kommt "sudo: rpineustart.sh: command not found"

    Habe vielleicht den Fehler gefunden.
    Befehl muss wohl "sudo /sbin/rpineustart.sh" heissen.
    kommt aber trotzdem
    kommt "sudo: /sbin/rpineustart.sh: command not found"

    Mit sudo su kommt "bash: /sbin/rpineustart.sh: Keine Berechtigung"

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von premo ()

  • Hast Du das Script ausführbar gemacht?
    Schau mal mit ls -la ob es auch im /sbin Ordner vorhanden ist.
    Dann einfach: sudo rpineustart.sh

    füge doch mal vor die if Anweisung ein

    echo "script gestartet" Nur so zum Test, dann siehst Du später ob das Script gestartet wurde, in der Konsole.
    SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.