Ausschalten per Uhrzeit

  • Hi Leute,

    ich wollte mal nachfragen, ob einer von euch weiß ob es möglich ist XBMC per Uhrzeit und nicht per Timer herunterzufahren?
    Besteht ne Möglichkeit dieses per Job durchzuführen?

  • Gibt's hierzu echt keine Lösung? Nutze xbmc unter Raspbmc und fände einen geplanten shutdown auch sehr angenehm! Bin leider kein wirklicher Profi - aber ginge da nicht notfalls irgendwas über Cron-Jobs?

    Würde mich über Hilfe sehr freuen!

    lg, Nils

  • Mit Cron-Job wäre das definitiv möglich - man könnte sogar eine Prüfung einbauen, ob XBMC trotz der fortgeschrittenen Stunde nicht gerade verwendet wird über grep.
    Die Frage ist nur: Gibt es unter OE ein Terminal mit Schreibmöglichkeiten ins Crontab? Habe aktuell kein OE im Betrieb...

  • Alles ungetestet, aber:

    cron selbst sollte man unter den Deamons/Services aktivieren können.
    Danach mit SSH einloggen und ein

    Code
    crontab -e

    abfeuern. Das sollte im besten Fall nano mit der crontab öffnen.
    Nach dem Eintragen des neuen Jobs und dem Speichern der Datei kann man mit einem

    Code
    crontab -l

    schauen, ob alles übernommen wurde.

    Viel Erfolg.

  • Zitat

    schauen, ob alles übernommen wurde.

    Wurde übernommen. Folgende Zeile ist mal direkt aus crontab -l kopiert:

    Code
    8 15 * * * shutdown -P now



    Leider erfolglos!

    Beim ersten crontab -e wurde eine Meldung geworfen, dass das File erzeugt wird. Bin mir jetzt trotzdem unsicher ob der Cron-Dienst läuft. Bezog sich folgendes auf die XBMC Oberfläche?

    Zitat

    cron selbst sollte man unter den Deamons/Services aktivieren können.


    Vielen Dank für die ersten Tips und
    lg, Nils

  • ... Bin mir jetzt trotzdem unsicher ob der Cron-Dienst läuft. Bezog sich folgendes auf die XBMC Oberfläche?

    Vielen Dank für die ersten Tips und
    lg, Nils

    Ja, das Bezog sich auf die OE Settings.

    Siehe hier:

    Externer Inhalt thedigitallifestyle.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Du könntest auch versuchen per

    Code
    pgrep cron

    oder

    Code
    service cron status

    festzustellen, ob der daemon gestartet wurde und noch läuft. Evtl. das "cron" durch "crond" ersetzen, je nachdem, wie der daemon heißt (ich denke es ist aber eher "cron").

  • Also ich habe ja quasi off-topic eine raspbmc distri und nicht OpenElec an sich!
    Gott sei Dank war ich flexibel genug [/Ironie] um herauszufinden, dass sich diese Einstellungen dann in den raspbmc-Settings befinden. Für die Nachwelt sei es hier auch einmal verewigt:

    Zitat von http://www.forum-raspberrypi.de/Thread-tutorial-crontab-cron-jobs

    In der Raspbmc GUI unter Programs -> Raspbmc Settings -> System Configuration -> Service Management -> Cronjob Scheduler

    Jetzt kann ich mir (nach einem Neustart) auch sicher sein, dass cron läuft:

    Code
    pi@raspbmc:~$ service cron statuscron start/running, process 1368


    Leider führt die aktualisierte Zeile "35 15 * * * shutdown -P now", welche übrigens nach Hinzufügen mit nano durch "New Cronjob set up" (oder so ähnlich) bestätigt wurde, nicht zum gewünschten Ergebnis.
    Woran könnte es jetzt noch liegen? Gibt es ein log-File von cron?


    Nils

  • ...
    Leider führt die aktualisierte Zeile "35 15 * * * shutdown -P now", welche übrigens nach Hinzufügen mit nano durch "New Cronjob set up" (oder so ähnlich) bestätigt wurde, nicht zum gewünschten Ergebnis.
    Woran könnte es jetzt noch liegen? Gibt es ein log-File von cron?

    Nils

    Schön, dass es soweit schon klappt.

    Evtl. kann ein

    Code
    tail -f /var/[definition='1','0']log[/definition]/syslog

    oder ein

    Code
    grep cron /var/[definition='1','0']log[/definition]/syslog

    helfen - oder eine Kombination aus beidem :)

    Code
    tail -f /var/[definition='1','0']log[/definition]/syslog | grep cron

    Alternativ: Erstelle einen neuen cronjob mit einer kürzeren Frequenz z. B. jede Minute) und lasse ihn ausführen (z. B. einen Wert in eine Datei schreiben, etc.).

  • Also ich habe es jetzt mal mit Folgendem probiert:

    Code
    * * * * * echo Testecho




    Es ist allerdings nichts in der Konsole zu sehen. Auch mit tail -f /var/[definition='1','0']log[/definition]/syslog | grep cron tut sich leider gar nichts. Muss ich denn am cronfile noch irgend etwas machen außer die Zeilen reinzuschreiben? Nein - oder?

  • Also ich habe es jetzt mal mit Folgendem probiert:

    Code
    * * * * * echo Testecho

    Es ist allerdings nichts in der Konsole zu sehen. Auch mit tail -f /var/[definition='1','0']log[/definition]/syslog | grep cron tut sich leider gar nichts. Muss ich denn am cronfile noch irgend etwas machen außer die Zeilen reinzuschreiben? Nein - oder?

    Probiere mal sowas:

    Code
    */1 * * * * echo Testecho

    Eventuell kannst Du auch versuchen die auszuführende(n) Programmzeile(n) in ein Skript auszulagern und in der crontab per absolutem Pfad auf das Skript verweisen.

    Normalerweise sollte das Editieren mit "crontab -e" (inklusive Speichern natürlich ;) ) ausreichend sein. Man muss den daemon auch nicht neu starten nach dem Editieren.

  • Was würde die /1 denn bedeuten? Bezieht sich diese noch auf das Minuten-Feld? Jedenfalls ändert auch diese nichts am Verhalten. :(
    Habe jetzt mal eine shutdown.py gebastelt. Die sieht so aus:

    Code
    import subprocess
    
    
    subprocess.call(['sudo shutdown -h now "Shutdown by shutdown-script..."'], shell=True)

    Nach dem speichern noch Ausführbar gemacht und mit phython shutdown.py ausprobiert. Funktioniert!
    Diese Datei als Cronjob bringt mal wieder nichts: "22 17 * * * /home/pi/shutdown.py"

    Das gibt es doch nicht :cursing: So langsam kann es doch nur noch eine Dummheit sein, die ich übersehe!


    Noch mal ein Dank für die bisherigen Tips - vielleicht kommt ja noch die Erleuchtung hier bis 1 Uhr heute Nacht. Da soll der raspi ja runterfahren :P

  • Du kannst das python script nicht einfach so aus der crontab starten.
    Du musst entweder den interpreter mitgeben (davor schreiben) oder ein shebang in das script schreiben.

    Ich vermute Dein cron läuft nicht, weil Du nirgends einen Pfad deklariert hast.
    Versuch mal als command:

    /bin/echo "test" >> /tmp/test.txt

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!